Arduino MKR Therm Shield Not Measuring Temperatures Below 0 °C

My first thought would be that there's a problem in the library you are using with a mix-up between signed and unsigned variables.

I've no experience of the MKR boards myself but I wonder if it may possibly be an issue with the serial printing routine, as I seem to recall reading some time back that serial print didn't like floats much.

You could test this by using sprintf to print the value to a null terminated c string and then use serial print to print out the resulting text.

EDIT: There may be an issue with sprintf too.

This discussion might help - see the dtostrf() function: