That's a very good analysis, I don't think you'll find much disagreement here. Thanks a lot.
On the integration side, the kind thing to say is that the CMS was developed separately from the ACS and lived as a standalone piece of software. This explains the different db api, etc.
The unkind thing to say is "isn't that about the stupidest thing you've ever heard?". After all, it was developed by aD and the aD philosophy has been to integrate everything with the ACS. Such integration should've been planned from the beginning, and there should've been agreeement on a standard db api. Also, the use of namespaces within the CMS and the pseudo-OO programming style is very different than that followed within the ACS. The only real justification for this would seem to be that it was an interesting academic exercise.
Do I believe in the kind statement, or the unkind one? I'll never say . But I do expect us to rewrite the CMS to use the common db api at some point. It is really unforgivable to have two separate db api's in the ACS.