Hello John,
Your problem might be that the AI Read.vi is blocking while waiting for data to arrive. Here's a test you can try. Run the Cont Acq&Chart (Async Occurrence).vi and check your CPU clock while it runs. This example doesn't read until the data has arrived.
There is another trick you can try which might be more easily integrated into your application. Put your AI Read.vi inside another loop and set the "number of scans to read" to zero (from a shift register). You might also need a small loop delay to free up your processor. Each time the AI Read.vi is called, monitor the "scan backlog" until you see there are at least the number of points you want to read. Then the next time through the loop, set "number of scans to read" to the number you
want.
Best Regards,
Doug