If statements possibly being scrubbed?

This is the wrong way to use milliseconds, as millis() will eventually overflow and nothing will work. Use subtraction instead, e.g.

if (millis() - start_time > interval) {

If TempF is a float, the compiler always promotes "10" to float, in the expression "TempF + 10".