Hola,
msg[5]='\0'; solo pone como 0 el ultimo char.
Para inicializar es:
for(int i = 0; i < 5; i++) msg = 0;
o, aunque no es lo mismo
- strcpy( msg, " ");*
Pero antes de eso, de todas manera agrega en el código del loop un - Serial.println(tempC);*
que es lo mas sencillo para descartar un problema, aunque después no lo uses.