Sonet,
There is a possibility that the function ComRdTerm() is timing out and returning the buffer of data the it received before timing out. watch the return value and if it is -99 the we do are getting timeout and may be a problem with the termination character. Another way that you can try is to use the function SetComTime to alter the timeout value and see if that has any effect on the second call with the delay.
One thing to watch is that the parameter for termination character in the function ComRdTerm() is an int, make sure that your istrument will return a value of 4 and not the ASCII code 4.
I hope this helps.
Regards,
Juan Carlos