Thanks again to everybody for their help and advice.
I am not using DAQmx; my device is not supported by it. However, I have tried data compression using the open source zlib dll. For my application, it slowed down the data acquisition rate; it takes CPU cycles and memory to compress the data.
I am writing to the file after the data has been generated. I do not have the option of acquiring smaller chunks of data and then trying to "stitch" them together.
Cheers
Andrew