That's a tricky one. I assume you are using Windows 2000 or XP?
The RS232 comms timing under windows can be very difficult to get millisecond accuracy with.
Even if you set your VISA write function to synchronous, it only waits for the message to get into the UART FIFO buffer, then moves on.
If you are only going to be using the COM port on the motherboard, you can usually disable the FIFO buffer...
In Device manager locate the COM port item you are using
Eg. "Communications Port (Com1)"Right-click on it and select properties, in the port settings tab click 'advanced' and uncheck the 'Use FIFO buffers' option.
Now the Synchronous VISA write function should wait almost exactly till the end of your RS232 send operation.
If you are using different RS232 hardware, you may not be able to control the timing any better than you already can.
Troy - CLD
"If a hammer is the only tool you have, everything starts to look like a nail." ~ Maslow/Kaplan - Law of the instrument