Based on this answer here in StackExchange and the Motorola article it cites, I've designed a dual h-bridge motor driver with push-pull transistors to switch the FETs faster, layed out a PCB in KiCad and built it.
When I tested this first version with a toy RC helicopter motor, it ran for a couple times, but eventually half of each h-bridge (there were 2 of them) got shorted (lots of smoke and all). Everything ran on 2 li-ion cells (7.4V) for VCC and a third small phone cell (3.7V) in series for a 11.1V total in Vdrive.
I used the multimeter to check and looks like IMZ1A couldn't pull the high side FETs down for some reason. Initially they could, but then they stopped working. The 2N7002s were all fine. Tried replacing both the shorted power FETs and IMZ1As for new ones, but the same problem happened again.
This one actually worked and is working till now, despite being very simple. The question is: why the first circuit didn't work? Is there anything wrong with the design?