Henning,
Bingo! I'd already tried to post a comment regarding HP's cruddy drivers but my comment disappeared. (Mmm...does this blog not like Firefox?) Anyways, post-printing, some HP drivers stupidly call COUninitialize() *regardless* of whether their COInitialize call succeeded (it will fail with RPC_E_CHANGED_MODE if COM has already been set up as multithreaded and the COM load/unload counter will not be incremented).
Post-printing, since the driver's COInitialize() failed the COUninitialize() is unbalanced (the COM load counter is decremented without it being incremented by COInitialize) and the result is that the COM system is uninitialized by the *@#% driver. Poof, any COM objects held by your app are gone.