That thread is saying that three different things can send a message over RS232 and they can switch at random times so it's possible you'll never receive some packages, Is that correct? Note, it's possible a switch could happen mid sentance and you get the first half of one (starting with $) and the second half of another (ending with W).
From what I can gather, the chip has to do a number of thing,
control servos,
read USART,
Input from an R/C receiver,
Calculate various other things.
What are the other two things (beside GPS) that can send data?
I suggest adding a read receiver data to the code we have working.
Do you have an example of what comes from the R/C receiver?
Mike.