In my limited experience, I have had to allow a delay of some sort for the device to generate a response.
There are a few ways to do this:
Simple:
Put a hard wait in a sequence structure and pass error from the write to the read through the structure. This will place a delay between execution of write/read.
Advanced:
Write a read subVI that monitors the "bytes at port" for a number greater than 0. Bytes at port is available via property node. Only continue after this value is greater than one.
I usually read the first byte this way, and continue reading until 25mS has past with a value of 0 for bytes at port before I assume that the instrument is done.