Well, 20 seconds is overkill. I don't have the manual for the instrument, but I'd guess that even half a second is probably adequate. As to the error that you're getting, that's a timeout error. It means that the VISA Read was waiting for more data but did not receive it, and hence timed out. There are a number of reasons why this can happen. Most likely it's due to the fact that you're waiting too long. You should also verify that you did not inadvertently set the VISA Timeout to a really low value somewhere else in your code. In the picture that Ton posted above the VISA Timeout function is shown immediately to the left of the Bytes at Serial Port. Are you using this somewhere?
Another possibility is that the instrument is not using the EOS/EOI properly, or isn't configured properly for this. A temp chamber we have here in our lab is like that.
I doubt that this would be an asynchronous/synchronous issue, but for future reference, reading this
article might be useful.