I never did like "logic level" FETs. Yeah, they turn on at 5V, but not very hard, and switching takes forever (you need a solid driver to compensate, and you still only get so much due to internal limits). That may or may not be a problem.
The only thing that jumps out at me is the lack of protective circuitry, and what your physical layout is. Ideally, you'd control the motor by instantaneous current first and foremost, then adjust for average PWM or output voltage based on that. That way, if the motor suddenly decides to be a short circuit or some approximation thereof, your FETs aren't left alone to chomp on it.
Protective circuitry includes something to clamp voltage spikes. An H-bridge with MOSFETs is naturally constrained by the supply voltage (if the motor tries to drive power back into your circuit, the worst it can do is get dumped into the supply by the MOSFET body diodes). But if the supply voltage isn't stable (say, there's a lot of stray inductance in the layout, or the bypass capacitor and wiring have high ESR and ESL), nasty awful things can happen.
What frequency are you running this at? Are you at liberty to share your layout, and do you have any waveforms of this thing in operation, at a known load (not just like spinning the motor, but actually delivering real power)? How hot do the transistors get normally, and what's happening when they fail, has it been running under heavy load for a while so they were getting really hot? Or what?
Probably, you're at risk of two failure mechanisms: either just dumb thermal overload (the transistors get too hot, magic smoke is released), or avalanche failure (switching too much current, too suddenly, with too loose of a layout), where voltage spikes cause local failure inside a transistor, leading to further destruction.
Tim