>COMはC++をベースにしたために失敗してしまった。

はぁ?COMはVBをベースだよ。C++とCOMの相性は最悪。
C++からCOM使ったことあるか?