Just to double check, what order are the bytes appearing on the wire? Is it possible that the data is coming LSB first, i.e.,
"26", ".0", "26", ".25", "26", ".75", "26", ".125", "27", ".25", "27", ".375"
And that the correct pairings are like follows:
"26", ".0", "26", ".25", "26", ".75", "26", ".125", "27", ".25", "27", ".375"
Alternatively, are you choosing which bytes you read out & when? Because some chips will enforce a particular byte read order on you by way of a clause that the next value is loaded on, e.g., the read of the least significant byte. So if you read LSB first, and then MSB, the first LSB read will trigger an update of the register and causes a subsequent MSB read to get a non-matching value.