Hi,
You are right when you say that RT would be the best way to go here, given the fact that you require an accurate software-timed acquisition. However there are a couple of suggestions that I can give you:
+Use DAQmx: the new architecture of DAQmx will give you a much better performance in single point operations than traditional DAQ.
+Careful UI management: depending on the expectations of the system most likely you need to respond to user events. Make sure that the user events will not degrade the performance of your application. You can use an asynchronous timer or another thread to handle some user events, make sure that those don't take too much processing time.
+Oversample: since your system will be running in a Windows environment it's a good ide
a to do some oversampling; if you expect a consistent software sampling rate of 1 KHz you can set your system for a higher acquisition rate that will allow you to eat up some of the jitter in the processing time of your routine.
I hope this helps,
Regards,
Juan Carlos
N.I.