Hi rickford66 -
I'm sorry to say that the Traditional DAQ driver is no longer fully supported, as it was replaced by the DAQmx driver years ago. I'll try to help out as much as possible, but my experience with the older driver is pretty limited. Here's a shot in the dark, in case it helps:
It sounds like your application is starting the card at some specified sampling rate and then running a loop to read from the buffer, based on the system timer. When the timer says that time is up, it stops the loop. What should actually be done is to set the card up for a finite acquisition of the specified duration, then to read from the buffer periodically inside the loop (while monitoring the available samples per channel). When the available samples drop to zero, it means the clock on the HW has stopped and you have all the samples.
You might be running into performance issues in getting data across the PCMCIA bus (via interrupts) and just not reading the last batch of data since your feedback on when to stop the loop is completely independent of the DAQ card's operation. If you don't want to change anything else, you might just break the loop on the timer and call AI Read once more with the sample to read set to "all available" (or the equivalent). This should flush the end of the buffer.
David Staab, CLA
Staff Systems Engineer
National Instruments