It sucks because my wife's car is down right now but my car isn't reliable enough for her to drive so she's stranded at home until I fix hers.
So, I was able to catch the error code yesterday. It is 2 codes, a code 4 and a code 2. Code 4 means over-current detected (fan was drawing 30 Amps or more) and code 2 means no fan was sensed at all or fan wasn't detected.
Those 2 codes together didn't seem like they agreed or made sense so I called SPAL tech support. They told me that those 2 codes together means there is a problem with the electric supply feeding the fan controller.
What they said was usually those codes indicate that your electrical system wasn't able to keep up with the demands of the electrical fan. Possibly the voltage to the fan controller dipped too low. I am not sure what the threshold is, probably 11 volts or something, but if the voltage that the fan controller sees drops too far below 12v, all hell breaks loose and the controller will fire all kinds of error codes at once.
Now, this is actually a problem I have seen before on this vehicle, the voltage sags a lot under load. I don't know why though. The battery to engine ground looked OK, as did the engine to chassis ground like. I upgraded the alternator and battery already, and the fan has been replaced and I know it's not drawing 30 Amps, not even close. But sometimes, especially at idle, I'll see the voltage at the cigarette lighter drop below 12v. Really not sure what the problem is.
So, ideally I hope I can figure out the problem, maybe I need to replace / upgrade the cables that run from my battery to the alternator, and upgrade the ground cables, or something.
I really really dislike the idea though that some voltage sag can cause there to be NO radiator fan at all! That, to me, is ridiculous. So I think that no matter what, I'm going to go ahead and install the failsafe temperature sensor that will turn the fan on full speed when the engine temperature gets too hot. Then later hopefully I can solve the low voltage problem.