Ciao
il secondo parametro di dtostrf mi sembra che sia la lunghezza totale della stringa, punto e segno compresi ed il terzo la precisione, cioe' i caratteri dopo il punto; non so che valore ti aspetti ma forse 3 come secondo parametro e' poco;metti 5 o 6
Altra cosa, penso che buffer vada terminato ('\0') e che sia sufficentemente ampio da ospitare la stringa.
prova cosi':
char buffer[10];
dtostrf(sensors.getTempCByIndex(0),6,2,buffer);
buffer[10]='\0';
Ciao