Some of this stuff is probably pretty system dependent and variable, but I did a quick trial run myself with a desktop PCIe board and found that I had to call DAQmx Control Task with a "reserve" or "commit" to force the buffer allocation to actually take place. Even so, the Write still required the majority of the time.
Note though that if you "commit", subsequent stop/start cycles will be more efficient due to the DAQmx Task State Model. Probably only in the realm of single digits worth of msec though, so maybe negligible if you need to write different data into the buffer before restarting. (If you stop and restart without writing different data, the task will just start over with the buffer of data you wrote previously.)
-Kevin P
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.