Going from bios to desktop idle isn't going to subtract 9c off the cpu temperature.
It certainly can subtract 9ºC and far more.
As I said before, BIOS temps are always higher than Windows idle temps because the CPU cannot idle while in the BIOS. I know this for a fact. The CPU is running at its full speed in the BIOS, and it is common to see 60ºC in the BIOS on Sandy Bridge systems while the Windows idle is around 35ºC. (Yes, I know the OP doesn't have a Sandy Bridge CPU, but it's still true for AMD systems. The BIOS temp just won't get as high.)
The BIOS temp is accurate for a non-idle temp. The better your cooler, the better the BIOS temps will be -- but they will still be higher than Windows idle temps. The Windows programs are accurate for idle temps and load temps while in Windows.