At Dinamis, we've put to good use several ORM's in various worlds.
Personally, one thing I find is that they are not fully object oriented. There is an atmosphere in the community around these ORMs that seem to relegate Object orientation to Inheritance. Sure, inheritance is important ... but how much ?
What I believe is fundamentally more important in an ORM and which is sadly missing, is the idea that objects are entities and that they have relationships.
First, I describe the Foreign Key, which I believe is too low-level for an object world.