Check Engine Light: Not coming to temp
I have a 2003 Hyundai Sonata v6 GLS with 104,000 miles. I never have any problems with it except each year, during the winter, the check engine light comes on. It's always the same code, that the engine doesn't reach temp quickly enough. This happens after 4 or 5 days in a row of cold temperature (around freezing temp). I've had the thermostat replaced with OEM parts 2 times in 2 years and it doesn't solve the problem. Meanwhile, sometimes my thermostat will read 0% when the normal is ~45%.
On the flip side, occasionally the radiator will boil over on the runoff. This happens in the hottest time of the summer in Atlanta, once or twice a year, and before I began checking, I ran out of radiator fluid and overheated.
Other than replace the thermostat AGAIN, is there anything I can do? Mechanics have pressure tested the radiator and found no leaks. Right now I just reset the engine light if it's the same fault code, but I'd rather fix it.
Thanks in advance.