OK, I think I have figured it out myself. The instrument-reading vi will read until the end-of-message character is received or until the timeout period has elapsed. The timeout test, though, uses simple subraction of millisecond timer values. The timer will wrap around to zero 49.7 days after Windows is booted. If the end-of-message character fails to arrive during a read that spans this wraparound event (extremely unlikely, but possible), the timeout would be 49.7 days and the loop would appear to hang.
Rich
