Well, I made it. Our app no longer crashes, hangs, or blows its resource limits :) A slightly close shave with only 2 hours to go before I leave the company, but never mind.
A big thanks to all the people who helped me, especially Ove, Mike, Robert, Greg, all the others and of course Alexandre.
I've got quite a few bugfixes in my tree, which I'll try and get submitted sometime next week before I go off to bum around Europe for a month. I'll also try and do a patch dump of the DCOM stuff, which is just oves work (badly) merged with some bugfixes, a few new features and lots of no-op changes and useless trace statements. I never did bother figuring out or eliminating the duplication between Oves and Marcus' code, so it's not really in a mergable state.
If nobody else attempts to do a proper merge then hopefully I'll get time to do it, this code is really useful. It'd be quicker/easier for a COM guru however.
thanks -mike