If your BIOS says 40C that is probably correct. Yes, that is idle, not underload, but if you are just in windows and sppedfan says that you are at 64C, that is wrong. Always go with BIOS. You might want to go download motherboard monitor, it is a great program that is pretty accurate in my experiences. Just go google it and download it, it is free. Most CPUs can run up to 70C before they fail, but 64 is pushing it. I keep mine below 55C under extreme stress and idle in windows is 40-42C. Let me know.
BTW, in motherboard monitor, you can tell what is your cpu temp. It is the very first reading, and it is the one that is colored red in the windows tray.
EDIT: From what I can tell from other posts, the second temp is the CPU, which is 39C,...that is on par for idle. Like I said, 50-55 is a safe max,...really anything under 60C. But still D/L Motherboard Monitor to double check your readings.
C2D E6420 2.13, FSB 1066MHz
OCZ SLI-ready 1066MHz 5-5-5-15T
eVGA NF63 motherboard
eVGA 8800GTS 640MB
Sound Blaster Audigy 2 ZS
Windows XP Pro 32 bit
OCZ GameXstream 700w PSU