It looks like the efic_temp, we can adress, has values between 0 and 255. Values higher than 255 begin with 0 again.
This is no problem for the cams, because they will shutdown by Canon firmware, before they reach these high raw-values. EOS-M seems to play another role. The raw values are much higher from the beginning. So 255 can be reached easily. Result is, The next value will be 0.
The converting-function from efic to celsius can be found in platform/camera/consts.h. For the EOS-M it looks like this:
// temperature convertion from raw-temperature to celsius
// http://www.magiclantern.fm/forum/index.php?topic=9673.0
#define EFIC_CELSIUS ((int)efic_temp * 40 / 100 - 60)
A workaround for this problem could be, to change the function in the EOS-M const.h:
If 0 <= efic_temp <=50 than
efic_temp = efic_temp + 256
endif
#define EFIC_CELSIUS ((int)efic_temp * 40 / 100 - 60)
Since I am no coder (what I´m doing is try and error), I don´t know the syntax for this function. So, if this workaround is wanted and possible, some of you have to code it

Another way for this temperature-stuff would be, to find the PROP, canon uses to write the temperature-data to the exif-tags. If this PROP is updated periodicaly and if we can read it out, we would have a nice x - 128 for all cameras.
Edgar