When the output of the micor is low, then the fan should be off, right? Then the diode going to the +12V rail will not conduct since the pullup will be at the same potential. The only thing might be the TVS, as fully charged battery is close to 14.4V if i remember correctly, add to this some rise when charging and I would rather up this to 18V.
Another thing is the input to the mosfet, is it 5V or 12V? Some TVS on this couldn´t hurt too.
Also those caps seem too large, no idea what the pullup value is but I think that 0.1uF is about the max you´d want there.