My guess is that ... 99.99% of the time is spent in the PAUSE 499 statement.

So if anything does come in via the USART in the interrupt during that time, the byte received will be immediately discarded with the mybyte=0 statement that follows.
<br>