Again, it appears to require that each column of the final result set map to a single field on a single entity.
Inheritance certainly appears to be the only way to get around the UNION requirement. In fact, we've decided that our object model would actually result in faster database queries using inheritance; we've got enforcable foreign key relations defined on every join we'll be making, and the results do not need to be unique. Doing everything in one SELECT without any UNIONs would be quicker, even if we do end up with a few giant tables, eg. for storing audit histories.