Vishi:
The answer to how the timeout works is pretty easy. NI-VISA uses NI-488 for GPIB I/O, and the NI-488 API has only certain predefined timeout values - for example, 1 msec, 3 msec, ... 1 sec, 3 sec, 10 sec, etc. As someone else mentioned, the timeout you specify is a minimum, so we just round up to the next available NI-488 timeout.
Why does it take 100% CPU? Good question. I don't know the answer yet. But it is definitely a different code path than Serial (where we did address similar CPU issues in the 2.5.x releases). Since NI-VISA depends on NI-488, the answer to this question will depend at least partially on the type of GPIB controller, the OS, and the version of NI-488. If you can provide those details, that may help.
Dan Mondrik
Nation
al Instruments