Thanks to all for the comparisons between apt & cabal.
Your reply basically explains why it is broken, and gives a rationale (cost and trouble to do it), but no prognosis for repair.

It's an open problem.

I make do with disposable sand-boxes, using cabal-dev to build them.  In this way, I can keep many (of my) libraries building, even if different libraries need incompatible versions of Hackage libraries.  If I run into a problem in a library's build environment, I either fix it surgically or nuke it, without affecting any other build environments.