char result[5];
This isn't big enough for the strings generated by the temperature sensor and perhaps not for the other devices either.
T1:73.06 needs 5 characters PLUS one for the null on the end.
T1:-196.60 needs 7 characters PLUS one for the null on the end.
Change the declaration to:
char result[16];
which will give it plenty of room.
// even if I unplug the wire from pin 37, the reading still returns as <T1:-196.60>
That's because with nothing connected, the pin will usually read as all ones which gives a temperature of -127 Celsius which is -196.6 Fahrenheit.
Pete