Hi Everyone. Sorry this is going to be a bit long winded, but I've not designed any circuits in almost a decade and I've forgotten almost everything. I'd like some extra eyes to check over some diagrams to make sure I've not done something really idiotic or just missed the obvious. Apologies also in advance if the layout of my schematics is horrible.
Anyway, I've got a car which due to its large engine in a small bay, is prone to issues with heat soak. It runs cool enough, but once switched off the tempreture of the cylinder head rises as there is no air flow, causing problems. To add insult, it already has a secondary electric fan just sitting there doing squat. If that fan were to run for a while after shutdown, that would help the issue quite a bit.
There are off the shelf fan controllers for this but they aren't programmable and are stupidly expensive. I've got an Arduino nano clone sat around doing nothing, so I thought I'd put it to use and make it into a programmable fan controller which will turn the fan on based on both time and tempreture sensors. I've decided that it must be able to kill its own power supply through a relay to physically disconnect it so that it cannot become a battery drain or catch fire due to fault or something.
I need it to do these things: On ignition switching on, Hold its relay closed to keep itself powered. Then wait for the ignition to switch off, Trigger the existing fan relay if needed, then kill power to itself once no longer needed. To power the arduino I'll hunt down a good quality USB converter. My diagrams show a 7805 as a placeholder for this.
Since we need to inject battery voltage before the existing relay feed, and we need to make sure that the circuit comes on with the ignition, we need two high side switches. So I came up with this circuit, which uses a NPN bjt to pull down the gate of a P channel mosfet.

I've tested it in Multisim (hence the switches and dummy wire) and it seems to work, but then I realised I could use a driver IC instead of rolling my own, and came up with this one. I can't simulate this and check it for problems; does it look correct? Which of the two is the better design? Safety is the most important issue here, I need it to be able to handle all the noise generated by the alternator and not burst into flames no matter what happens. I like using the discrete components because I can just use through hole, but if using the IC is way better then so be it.

Thanks.