#1. Puma temp. gauge is different to most, which have a 11 - 1 o' clock Normal range - the Puma has a much wider 10 - 2 o' clock Normal band. It is possible that in this cold weather that there is actually nothing wrong with your setup (OBDII looking at the
actual temps received by the sensor and sent to the ECU would be good ...but you can't do that one)
#2. As so many people mention (almost proudly, for some bizarre reason) that their gauge is always halfway, then it's possible that later Pumas use flat response calibration there (simple software change done on ECU that basically puts the needle in the middle unless it hits the fan, metaphorically).
I say that, because my early Puma only goes up to a third in this weather, then around half or more in normal weather. It's possible that your ECU connections need cleaning?
#3. Old temp sensor can be easily tested with a multimeter on resistance and probe in hot/boiling pan of water. Just look for the change on the meter and the temperature increases. That will tell you if your original one was working (it's possible that it was working, but at the incorrect variable rate, but that's another matter)
#4. Usual advice on over cooling is to change the thermostat - very easy to write on a forum, not so easy in real life, I reckon. Eliminate all other possibilities first, maybe even blank off the radiator with cardboard and running with very frequent stops to check. I recall you changed your thermostat housing couple of years back? I'm reckoning your would have changed the thermostat at the same time.
Damn your OBDII connection! In Live Data mode, I'd figure this one out in 10 minutes.