I had the same problem as Danny on my g20. I removed all of the ac equipment last year and replaced the thermostat. The heat and temp gauge worked pretty well for a while until this winter. I started experiencing the same problems as Danny. I could let the car idle and warm up for a while and the temp gauge would climb up to a normal level, but once i would start driving for a short amount of time the guage would start to get quite low toward the c side and i wouldnt have much heat.
I was sure the thermostat couldnt be the culprit. But i decided to replace anyway. When i tok the old one out it had failed in the open position so the car wouldnt overheat, but in winter all that relly meant was i wouldnt have much heat inside the car due to overcooling. I went to advance bought the lifetime warranty stant thermostat wich is much better quality just by looking at it than the cheap one. It looks alot like my nismo one i have in my nx. I added the coolant per my way of bleeding the system which is the old school way of turning the heat on full blast, letting the car idle with the rad cap off until the gauge starts to climb up or untill your coolant level drops quite a bit in the radiator due to the thermostat opening. Top off coolant, put cap back on and check to see that there is a good amount of coolant in the overflow jug. I usually just monitor the overflow for a couple days after and add coolant in there if the level drops a bit.
Its been 2 weeks now and guess what. I have great heat in the car and it warms up much faster and the factory gauge works just fine. At normal operating temps the gauge reads just around half way or a hair below. Best $12.00 i ever spent, add a few more dollars if you dont have gasket sealer and or new coolant.