April 11, 2011
I need some insight into how COM objects interoperate with D, as well as some advice on how to manage them properly.

I've seen posts that IUnknown is treated specialy by the compiler, what is the nature of this behavior?   Does this include any kind of AddRef/Release behavior integration with the GC system or variable assignment, or is it purely for making interfaces have compatible vtbl's?

If the AddRef/Release management isn't automatic is there a library somewhere to help with it (i.e. a D version of ATL's CComPtr template, or code similar to it)?

I suspect the answers are somewhere I'm just not familiar with the extra libraries on dsource at the moment :)

April 11, 2011
You could try looking at the Juno or DWin projects on dsource.

I've done a bit of COM stuff (both implementing com objects and using others) in Juno and it worked ok, though unfortunately it needs some changes to get it to work with the current D2.