The NI-6704 is a data acquisition card, NOT an instrument.  Instrument control (VISA, IVI) is for controlling external instruments over GPIB, serial, ethernet, etc.  It can also be used with our computer-based instrument boards such as our NI-Scopes, NI-DMMs (NI-4060), etc.  For data acquisition boards, you would program them through the NI-DAQ driver software.
We don't have a native C++ API for NI-DAQ yet, but it is in work.  You have two API options to program NI-DAQ in Visual C++.  Option 1:  NI-DAQ C-style API.  This is a low-level C API that is included with NI-DAQ that can be used in Visual C++.  There are examples for this API under \Program Files\National Instruments\NI-DAQ\examples\VisualC.
The second option, and the one I would recommend
, is the ActiveX control API.  You mentioned this above.  There is a set of ActiveX controls provided to control NI-DAQ hardware (CWAI, CWAO, etc.)  This API works well in MFC applications because it is event driven and VC++ creates VC++ wrapper classes that can be used.  Also, the control have detailed propery pages that save a ton of programming time.  There is slightly more overhead in the ActiveX API, but it is usually negligible.  I attached an MStudio 6.0 example that uses the CWAO control to do analog output as you would with the 6704.  If you have further questions on programming DAQ, our support engineers can help at http://www.ni.com/ask.
Best Regards,
Chris Matthews
National Instruments