Reported Temperature = TJMax - Digital Thermal Sensor reading

RealTemp is reading TJMax from your CPU so it is using the correct 105C. CPUID is not reading this information from this CPU so it looks like it is guessing at 100C for TJMax and Core Temp is afraid to guess at all so just reports the readings from the digital sensors directly.

It is becoming very obvious that once again Intel has decided to use temperature sensors that have huge amounts of slope error. This means the further you get away from the calibration point, the more these sensors will either start reading too high or in your case, they will start reading way too low.

In the old days it wasn't until about 70C that all the slope error would go away and these would start to become somewhat accurate.

The other thing to keep in mind is that even with Intel writing TJMax into each core of a CPU, that's still just a ball park number. Intel has never released the amount of error in that number but plus or minus 5 or 10C would not be out of the question.

With no documentation from Intel, these sensors are useless for 100% accurate core temperature reporting.

The Core i7-920 series used excellent sensors but it looks like Intel has taken a step back and found a way to save a few pennies per CPU again. These new sensors are good enough to trigger thermal throttling and thermal shutdown and that's all Intel really cares about. Even crappy inaccurate sensors are good enough for that purpose.