What I remember from the previous iteration in my discussions with Waldemar was that bundles don't work for handling items like shared libraries, Tracker add-ons, Translators, and other dynamically-loaded files. That's not a problem, though -- he and I took a page from the Mac playbook and thought that there should be two different kinds of packages -- bundles and packages.
Bundles were BFS filesystem images that could be mounted via loopback and executed. I have test code that does this and the last time I was working on it, R5 would occasionally KDL and it somehow didn't work under Haiku. Doing it this way solved the problem of preserving attributes, which by using special case directories (like OS X) doesn't solve. The only drawback that I've found to this method is that for small apps, the vast majority of the package size is actually the BFS journal, not the app's files themselves.
Full-fledged package were based on Nathan Whitehorn's work which used attributes to track files. Finding out what packages are installed are as simple as a query, and uninstalling was little beyond querying and deleting.
With all of this discussion on package management, I could dig out the test code and report back or make it available. Would anyone be interested in this?