I would query first that perhaps you are not receiving 100% good Data...

Replace ReadLoop with this code...

Code:
ReadLoop:
	DEBUGIN [DataA]
	DEBUG DataA," ",HEX2 DataA,10,13
	Goto ReadLoop
This will echo the HEX representation of what has been received... so if you type Richard you should get...

R 52
i 69
c 63
h 68
a 61
r 72
d 64

where the character is what you typed along with its HEX as confirmation of good data...

If every 2nd character is not what you expected, then time to find out why...