Your checksum seems OK. This seems to indicate that the communication is working.
So when you are getting your 103 hex temperature, that is 259 decimal which is 25.9 celsius. so that bit works.
If all of the bits were being received one bit out of step, your checksum might be right, most of the time. In other words, you could be receiving bad data and still get a valid checksum. Particularly if the first and last bits in your 40 bit sequence were zero.
So if this happened, your actual hex temperature would be 81. Which is 129 decimal. which is 12.9 celsius. It's hotter than that in your room, right ??