Keith hasn't even defined the problem completely and everyone chants 'CR'. This is total 'BS'. A standard paradigm is to extend the acs_objects table, more packages follow that paradigm than use the CR. If you don't want revisions hanging around for every object you create, or you don't want to do a few extra joins to get you data back out again, why do you have to do so?
Keith's stated concern is portability. Instead of chanting 'CR' at him, why not step up and show how portability can be achieved, and what the CR can do to enhance his project?
If we want standard tools, they should apply to acs_objects, not items in the CR. This is a general tool, this is a standard paradigm. Then every time we add a tool it applies to everything, because IMNSHO everything in the database is content.
But before something can be called a standard paradigm, it has to be shown it can easily solve problems that are common to the area. So far the examples I have seen, and the amount of work that appears to be required to create them, leads me to believe that using the CR is difficult.
Recreating the functionality in your own package will also be time consuming, so if you need most of the features of the CR you might decide it is worth figuring out how to use it.