Ah hah -- This is what CComPtr is .... I had taken out those because it was screwing with my CoUninitialize call (now that I know what it is I assume it was cleaning up refs by trying to release them after I uninitialized). I'll have to look at what the proper approach is for using those two calls together.