This forum has visited this issue before. The explanation has to do with hyper-threading under a running OS, and the frequency of temperature sampling under the BIOS monitor.
I may not have this explanation perfectly correct, but under the BIOS monitor in the system's pre-boot state, the only thing the processor can do in that state is "sample, sample, sample" from the thermal monitor. I think -- I THINK the explanation involves the sampling process itself -- and the lack of hyper-threading in that state -- actually causing the CPU to heat up a bit.
The temperatures reported under the OS, with hyperthreading operative, are as reliable as the motherboard software like "ASUS Probe" or "Intel Active Monitor" or for that matter MBM5. You will always -- ALWAYS -- have BIOS monitor temperatures which are higher than temperatures with the OS and hyperthreading.
Try attaching a thermal sensor to the CPU heatsink as near as possible to the processor without squishing it between the heat-sink and processor cap, then connect it to a front-panel backlit temperature display. Some heatsinks will be a few degrees hotter than the processor temp reported by MBM5-etc., and some heatsinks will be a few degrees lower. The only explanation for that would be the mass and thermal properties of the heatsink base, and the airflow around the base. But the discrepancy -- note that I say it seems to vary with heatsink while using the same thermal monitor -- has nothing to do with the discrepancy reported in BIOS.