If the fan is controlled by the ecu it won't have a fan switch, it's the temperature sensor for the ecu which will vary resistance depending on engine temp. What is the gauge on the dash doing? If the heater control valve is buggered it can cause the engine to overheat.
I'd put a new (genuine) heater valve and temp sensor on it and go from there.