Sorry Keith, everything I've done has been for 2002 and above, tho predominantly 2002 (even tho I run 2006 at home client #1 is still using 2002). Also, the dll's I've written have been primarily formless (like wrappers for things like ado or non activex win32 calls). Finally, the activex gui stuff I have done has always been modal (has run successfully in 2002 thru 2006 without need for recompile).
Re: activex exes -- I've never done any because I had the perception (perhaps unfairly) that performance would be sluggish because it wouldn't be run in-process (the marshalling you made reference to). Guess I should profile the difference sometime.
I apologise -- none of the above is useful info.