Thanks for the advice Lynn. I opened a terminal session using PuTTY on COM6 and made a screenshot of the output:
It looks like I am getting a mix of different types of data? Some have the "$GPxxX" structure you mentioned, but others are beginning with "GNxxx" and "GLxxx". I watched the terminal for a while and the structure is always the same:
-Weird characters on the top row or two,
Could it be that the weird characters at the start of the data are messing up the interpretation? The $GPxxx strings are present, but maybe they are not getting read since they are bracketed by other data types?