Thanks for all the help.
The IMAQ viewer is an activeX control (COM) in C#. This is what COM means, it is the technology that Vision is using to communicate with C#. The camera definitely does not work with IMAQ, so I have to put the images into the viewer with ArrayToImage.
Rob, thanks for the code. I have a really fast C# image viewer worked up with zoom, grab, and selection, but my boss really wanted to work only with the IMAQ controls. It seems this is impossible due to the abysmal performance of the COM ArrayToImage call. There really should be a call that is BitmapToImage as this would improve the COM performance (no change of the dataarray to a safearray).
Thanks you once again for the help.