After more than a week of intense testing, creating test objects to duplicate the architecture of my ActiveX object and finally the addition of the interfaces from my "real" object to my test object I have solved the problem.
My ActiveX control generates an event. One of the parameters passed in the C++ event firing code is an interface to another one of our activeX objects, IEventInfo. IEventInfowas described in its .idl file to be a dispatch interface. In the COM_MAP of the .h file for the IEventInfo, we failed add an entry to the COM_MAP of the form COM_INTERFACE_ENTRY2(IDispatch, IEventInfo).
When trying to register on of the callback events, for example Initialize, that takes a IEventInfoas a parameter, LabView was aware of the IEventInfoparameter and from the EventData node in the Callback VI I could use the unbundle function to get each subsequent interface from
my IEventInfoparameter.
I knew that LabView was receiving the callback event, because in my C++ debugger I could see that LabView threw a first chance exception everytime the event was fired from my C++ code.
It turns out that because I hadn't added COM_INTERFACE_ENTRY2(IDispatch, IEventInfo) to my COM MAP for the EventINfo object, LabView was unable to fire the callback.