Thanks to Karl Lunt and his comments here -
https://www.adafruit.com/forums/viewtopic.php?f=19&p=176400
I realised that the adafruit code I was based on
failed when the thermocouple data was negative.

I used his code here -
http://www.seanet.com/~karllunt/max31855.html
to refine the calculations to handle -degC correctly