All the issues you've seen with NFS matches up well with everything I've seen dealing with NFS storage over the past 18 years. I had always thought "maybe we're just doing it wrong," but I think everything you outlined looks familiar to me.
When we decided to try using ActiveMQ a few months ago that lack of trust for NFS reliability or even trust for NFS predictability in the face of edge cases and failure scenarios is why I didn't consider using shared NFS. So if someone here has a highly reliable NFS backed ActiveMQ master/slave topology I'd love to hear the details. I had hoped to avoid the downsides of a single point of failure (NFS or RDBMS) when I selected creating a test cluster that used local storage and a zookeeper cluster to determine master/slave status. There were other problems with that, the Replicated LevelDB code has some issues of its own, but we're still exploring that configuration as the one we'll probably most comfortable with. Jim