I've got a bit farther with this problem. I believe the trouble is that CVI's Controller Wizard is somewhere halfway between ActiveX and COM. It supports the custom interfaces of COM, but not the full spectrum of data-types. It seems to ignore any interface that has any parameters that are not one of the simple (and extremely annoying, like VARIANT) OLE Automation types.
In my case, the ignored interfaces have parameters of type "char *" (instead of BSTR), "BYTE password[20]", and one that is a pointer to a struct. If those parameters are removed from the type-library or changed into compabible types, then the Wizard will recognize the interfaces.
Trouble is, the generated code is then not compatible with the real interface of the COM object.
What I'm trying to do now is hack up the type-library of our COM object to get the Wizard to parse it, and then manually edit the generated wrapper code to make it compatible again. It's a horrible kludge, but ya gotta do what ya gotta do.
We'll see how well it works.