Joshua,
It sure looks to me like NI-DAQ 7.0.1 or CVI 7.0 has a problem. I just upgraded to CVI 7.0, and my CD includes NI-DAQ 7.0.1.
I was having problems with uninstall on CVI/NI-DAQ not really working( i.e., result after uninstall of version A and install of version B not the same as result after reformat hard drive, reinstall operating system, and install version B), so I eventually ended up with a troubleshooting process which involved reformating the hard drive and reinstalling the operating system for each attempt to get things working. I have three identical test systems, so I was able to swap out computers, DAQ boards, and all hardware connected to the DAQ boards. What I discovered was that neither the boards (PCI-6711, PCI-6602, PCI-6036E, and PCI-GPIB), nor the computer, nor any other tester hardware, nor the operating system (Windows 2000 Pro vs Windows XP Pro) were linked to the problem.
What is linked to the problem in every case is the combination of CVI/NI-DAQ version. Basically, Windows 2000 + NI-DAQ 6.9.3 + CVI 5.5 (I don't have CVI 6.0) works. Windows 2000 + NI-DAQ 7.0.1 + CVI 7.0 does not work, and Windows XP + NI-DAQ 7.0.1 + CVI 7.0 does not work. These are all the combinations that I can try, since NI-DAQ 7.0.1 does not support CVI 5.5 and CVI 5.5 does not support Windows XP. I did at least three clean installs of operating system + NI-DAQ + CVI, on at least two different computers using two different operating systems, and obtained exactly the same (rather peculiar) failure mode in every case. The fact that I can reproduce this failure on different computers, with different PCI-6711 boards, different operating systems, and different installs indicates to me that the problem is either in CVI 7.0 or NI-DAQ 7.0.1.
The fact that WFMsingleBufSync works is not surprising. Most of the time when my program calls WFM_Op it also works. It's just that sometimes it doesn't. Every call to WFM_Op which has NIterations=1 works. Only the calls with NIterations>1 fail, and then only sometimes (about 1 time out of 5). Note that ulIterations=1 in WFMsingleBufSync.
I have not tried running WFMsingleBufSync with the combination Windows (2000 or XP) + NI-DAQ 7.0.1 + CVI 7.0, and I do not have either of those combinations installed on any system at this time. I will try it next week (including varying ulIterations to something greater than 1) and let you know whether or not it works. I did generate sine waves from NIMAX (3.0.1) with no problems on both combinations - don't know whether or not that uses WFM_Op.
Greg