VP... it's definitely a good idea... but implementationn of this becomes quite a nightmare in the codegen templates because of the abstraction that is needed in template programming. (I've tried this before... and it definitely wasn't pretty. =)
And in fact, with the new querying mechanism that we're hoping to release “any day now” =) in Beta 3... there are some really advanced/neat features with Querying through ASSN tables which would make the entire codebase even more complex if we had to support association table attributes.
However, in reality, using a separate Relationship object doesn't actually lose you anything in terms of functionality.
You still have all the Associate, Unassociate, GetXxxArray functionality... it's just renamed and moved into the Relationship class, itself, instead of codegenned in each of the two joined object classes. And in fact, it should be relatively straightforward and should only take a few minutes to write wrapper methods to do Associate, Unassociate, GetXxxArray functionality around the Relationship objects generated CRUD methods in the joined object classes.