When I had my Core 2 Duo setup, all of the software apps such as speedfan, everest, and others reported the wrong temp. The most accurate way is using Intel TAT, which reads the actual temp of each core, not just the temp near the CPU like whats reported in the BIOS or other software apps.
And like I said before, 50C is not high if its under load, you can push it alot more before proper cooling becomes a serious issue.