Dave:
There are 2 possibilities here:
1) The device is actually sending back \0 in its data stream. If that is the case, VISA Read should not return an error. If the status code is successful, then all you need is a way to tell the driver to strip out NUL characters. Assuming you are using LabVIEW, set the property "Discard NUL" to True. In this case, all should be well and you should not have to do anything else.
2) The device is not sending back \0 in its data stream. VISA Read is detecting a parity error, for example, and setting the offending portion of the input stream to the error replacement character. Since the default error character is \0, you can verify this by changing the property "Replace Char" to something else and see if that
appears in your data stream. In this case, you will find that you do indeed have transmission errors, and you'll need to figure out the root cause. What is the error code?
I hope this helps.
Dan Mondrik
National Instruments