Could be a bad temp sender or even thermostat stuck open. I had this happen on my 2000 5.0L Mountaineer. The t-stat was stuck open and the engine never got hot enough to go into closed loop mode. It caused the fuel economy to drop about 8 MPG highway. Even though the engine wasn't getting very hot, i had half way decent heat.
BTW, If you want to test your temp gauge, ground the sender wire with the ignition key ON and the gauge should peg HOT. The temp gauge only registers w/in a given temp range (maybe 160-220 will put the temp needle in about the center of the gauge). below 160 it will show COLD and above 220 will show HOT).