>>800
双方で全く同じコンパイラを使っていれば、
ClassBの定義(をインクルードしたヘッダ)があれば、
IClassBへのポインタ・参照からClassBへのポインタ・参照へdynamic_castができるはず。
(やったことないけど)
所詮、COMインタフェースなんてC++コンパイラからすればただのクラス。
QueryInterfaceはdynamic_castを包み隠しただけにすぎない。

でも、そんなことするなら、そもそもCOMを使う意味ないじゃん。