Problem is most shops and techs do not understand coolant temps properly. Many cars will not easily reach proper temp idling.
Best thing to do is bring car to shop and have them read temp after car has been running for 15+ minutes, this is 15+ mins driving. Temps should be around 205F. Anything under 200F you need a thermostat.
Temp will rapidly drop once driving if stat is weak. My car was running 170F and would not trigger CEL! It takes a REALLY bad stat to trigger CEL for engine temp.
A stat is like a battery, more than 4 years old, replace it!
We are talking about a $20 part here, unfortunately the alternator makes it difficult to replace the thermostat, however, I was able to replace my thermostat without removing or touching the alternator. I just used 1/4" drive sockets with a wobble extension.
2 bolts, 1 house clamp and catch coolant and I was done.
I cannot believe all the people that just do not get that thermostats are really maintenance items and do not last forever. They fail ALL the time, usually soft fail as the spring gets weak, they open too early and the engine runs too cold. I see this ALL the time.
Only way to confirm this is problem is to put a real scan tool or device that can read real time data on the car and drive it.
Given these stupid cars do not have a temp gauge, I would just invest the $75 in an UltraGuage and connect it to the car permanently. This way you can keep track of Temps, Fuel Trims, Voltage, read and clear trouble codes, monitor fuel economy and so forth.
You should really read this for more info on scan tools and software -
http://newbeetle.org/forums/1-8-liter-turbo/59778-2002-glx-turbo-gas-mileage.html#post830803
If you plan on keeping your car and not going broke, you NEED some sort of scan tool to monitor your car. Even if you do not do your own repairs, you need these tools to keep an eye on problems and determine how critical issues are and to be able make informed decisions and not be at the mercy of some typical tech that sees the work Oxygen Sensor or Catalytic Converter in code and immediately jump on the fact that the part mention in the code description needs to be replaced, usually the issue is the exact opposite if you have half a brain in your head!