Hello;
Each DAQ task has its own FIFO, meaning that the AI has one FIFO, and the AO has another.
The problem is probably happening because you are using synchronous VIs to do the Analog Input. So, the CPU execution pointer get stuck inside the AI Read.VI untill the AI buffer is ready to be retrived. That might cause some synchronization problems.
The way to have that fixed is to use asynchronous VIs to do the AI side of your application. You can find some Labview shipping examples on how to do that at Analog Input->DAQ Occurrences.
Hope this helps.
Filipe A.
Applications Engineer
National Instruments