Welcome to my world Chevy468. I have 2 of these cars, a 2002 GTP and my 04 Comp G. Prior to me tearing my 04 apart it was throwing the same p0128 code you are seeing. Now it was doing exactly as yours....... sortof. Mine refused to exceed 200 degrees without sitting and holding it at about 3000 rpm in park for a couple minutes. Otherwise my fans never cycled, nor did the engine ever actually even get warm. It blew good heat but about 1/4 mark on the gauge, that's it. Upon tearing it down it needed LIM gaskets of course but had a 195 tstat installed. I am not reassembling that car stock so I really will never know with it, and it's getting a 180 tstat.
The 2002 however is stock, does not need LIM gaskets ( replaced and leakage free for about 1.5 years now) and does the same damn thing as the 2004. It never has tossed a code, but verified by my scan tool and so forth it has trouble exceeding around 80 degrees C under normal driving ( or 176 F). Odd that's exactly the same as the 2004.............. And the 2002 has done this from day one of ownership as well.
So do I have 2 seperate GTP's of different ages with bad 195 degree t-stats? Maybe? However if you verified your t-stats operation and still no sucess...... Well I don't know. The 2002 went through last winter just fine and never gave any issue, but the engine never even remotely hits the 195 degree setpoint, just like my other 2004.
It is cool here too, approaching around 32F or less at night and it compounds the issue. I know I am of no help, but I have double your issue!