Going to try something different. Since you are reading the temperature at the transmit end and it's in C, there's practically no chance it'll go above 255 C, so how about simplifying the problem greatly, and just sending one byte across the serial link. Do the C -> F conversion at the receiver end. One byte sent, no header/leader/trailer/counter bytes needed, no nothing....
I'll get the new program up in a minute or two...