Very good article and these are the reasons me and my team are not using ORMs very often, but DBALs instead. Although I think this goes more in the sphere of Database Access Layer where the developer can executes custom queries and fetches arrays for a result. One of the main goal of ORMs is to use more objects and less queries and not to take care about query control, witch is not a very good practice to me. Thank you!
The ORM tool is called MetaStorage. I can define what classes it generates and which functions the classes need, so it does not generate fat models.
Another thing is that it can also generate report classes, which are precisely for executing queries that retrieve results in arrays, not objects, for read-only purposes, like display or even sending newsletters. It would take much memory to treat everything as an object.