Welcome to CF.
As an additional debug, have you tried seeing what's happening with the interaction between the sender and the main PCB? Many temperature sender units are resistance based, and on that assumption:
- Make sure the engine is cold. Disconnect the sender unit from the main PCB terminal. Using a multimeter measure the resistance across the cable's terminals using a digital multimeter (record this value) then reconnect.
- Start the engine and allow to warm up until your temperature alarm goes off.
- Disconnect the sender unit connector from the main PCB again. Measure the resistance across the terminal pins and compare this with the reading from before - there should be some hundred ohms difference between the two readings.
If there's no difference then the problem is the callibration on the main PCB. The chances are that the output from temperature sensor is correct, but something has happened to the linear calibration of the instrumentation inputs on the PCB - so the PCB believes the temperature to be much higher than it actually is: this could be the result of a cracked solder terminal on the PCB, for example.
From a cold engine, start the engine. Allow it to run for 5-10 seconds and disconnect the sender unit from the PCB. This should result in the temperature alarm going off as the 'measured' resistance goes to infinity. If the alarm doesn't go off at all, even at the time when it would go off, then the problem definitely lays with the temperature calibration on the board - and a new PCB will be your only choice. rationale: the input from the sender unit is drifting as a result of something wrong on the PCB. no input means there's no value available to 'drift' so that the alarm limits aren't reached on the board.
Alternatively, if you have a half decent microscope or magnifying glass you can inspect the PCB following the lines from the sender-unit's input terminal and back to see if there's anything 'wrong' with any of the solder joints..