Heh... there isn't a best.
Those programs won't detect the tjuction max, which they depend on. So the software programmer set it to what they believe it to be.
CoreTemp THINKS the TJmax is 105 for certain CPU's... namely Q6600.
RealTemp THINKS the TJmax is 95C for certain CPU's... again, Q6600.
So there is no better program out there. Your best off going by the Tcase Sensor, since Intel doesn't publish the Tjunciton max, but does provide the thermal spec, which would be related to the Tcase max.
If you have a Thermal Spec of 71C, then your Tcase temp, or bios temp, shouldn't exceed that temp or get near it.
The same would go for SpeedFan program.
You can adjust the Tjmax on RealTemp, CoreTemp. You can only offset the cores on SpeedFan. If you run the Hardware Monitor, you won't be able to adjust anything, so it will assume the Tjmax, just like the others, but no adjustment.