Hi
Been following your problems with interest.
Not had this issue before but you could consider trying to substitute the tempereture sensor with a resistor and see what happens.
First, when engine is cold, disconnect the sensor and using a multimeter on ohms reading measure across both terminals. Make a note of the reading in Ohms.
Now go on ebay and search for a 1/2 watt resistor of the same value (or as close as possible) to what you measured.
When you recieve it insert it into the plug in place of the sensor. Fan should not be running.
Just had a better thought
Now you have two sensors, disconnect the plug from the one fitted to the car, and plug the other one into the plug. The sensor will now be reading air temperature, and should not trigger the fan.
Now have a drive around, keeping an eye on the temperature (as you should now have no fan running). If the fan has come on then you have either a wiring fault or the ECU is faulty. If the fan does not come on then issue is sensor or water temperature.
Another test would be to buy a variable resistor (potentiometer) which is about 2x the value you measured originally.
Set it so on an ohms range it reads the same as your original measurement for the sensor (about middle position)
Insert this into the plug (using flying leads). You should be able to now turn the fan ON by changing the value of the variable resistor, and turn it off again by returning to the original position (it will not be instant ON/OFF)
Please note I have not tried this before, but I think in theory will help you diagnose the issues that cause the fan to run incorrectly. It would certainly eliminate the sensor or water temperature from the causes. At least you can test (by simulating the sensor) without having to drive around.