I'm sure you've done it, but did you configure the speedfan to your motherboard? When I just dropped speedfan on without configuration it looked like that, very high temps. I just used the configure feature and grabbed the configuration file from speedfan's website, and my temps dropped alot and more matched my bios. Only thing I wish i had was a outside temperature reader that read directly from bios...
I initially clocked at 48-52 idle, then I put some silver on the cooler, cleaned out dust and now clock at 48-42 idle. So different thermal paste can help if you have some. but this is on a Athlon 64 3400+, well I guess thats listed in my sig anyway...
EDIT -- Since your CPU fan reading is zero, i doubt it is configured, also because it reads zero, i kinda doubt the readings. If I open up all the temp gauges on my speedfan, I have one that reads Temp1 that is almost always reading 80c and another one that is Temp2 that almost always reads 127c. I have no clue where these are from, probably sensors that are not on the board, but it did help with the config. try that first.
Edit2 -- I just did a check with different configurations, and my cpu temp showed 80c, went back to the one I was using and its at the 45c that is about where it should be for my machine.