It could be the thermostat. If it is not shutting completely when it is "cold", it will take a long time to warm up. And then once warmed up, if it is not opening completely, will cause the engine to run hot. For $12 or so (thermostat), it seems too cheap not to try this. Or you could just remove it (see if it is closed completely) and test it in hot water and see if it is starts opening at 190 degrees F to completely at 216 or so degrees F.
Read this thread for additional info.
http://www.contour.org/ubbthreads/showflat.php?Cat=&Board=trouble&Number=1021265&page=&view=&sb=5&o=&fpart=all&vc=1