Si quieres hacer un circuito para detectar las sobrecorrientes y cortocircuitos, te recomiendo que eches un vistazo a este integrado,
DW01-P. Es un protector de baterias de lito (solo para una celula, 3.7v) donde fija el valor de sobrecorriente y cortocircuito, y cada uno tiene su respectivo retardo; que serian unos milisegundos para sobrecorriente y microsegundos para "cortocircuito".
IRF1404: esos MOSFET parecen bastante fuertes. Si vas a hacer un limitador, ten en cuenta que cuando mas pueden sufrir es cuando; en el caso de que haya sobrecorriente, cuando los vayas a apagar, por eso considero importante hacer un driver decente para los MOSFET, y por si acaso pon un diodo flyback en antiparalelo con el motor.
Tambien recomendaria poner resistencias independientes en cada "gate" de cada MOSFET, ya que esto ayuda a que se enciendan y se apaguen a la vez (lo importante es la region "miller"), y para un encendido y apagado mas rapido pondria una resistencia menor a 100Ω; digamos 10Ω, por decir algo.
PD: me gustaria compartir unos calculos termico que hice para un proyecto que consistia en calcular la capacidad termica de un
encapsulado TO-220-3 si la capacidad termica del aluminio es de 385J/(Kg·ºK) y el "lead frame" es de 1,49g de cobre: 1,49 x 385mJ/(g·ºC) = 573,65mJ/ºC si no me equivoco, esta seria la enrgia que necesitariamos para subir en un grado la temperatura del encapsulado del transistor, aun asi tener en cuenta que entre el chip y el "leadframe" hay una resistencia termica Rjc. Adjunto una imagen para ilustrar mejor. En la imagen que adjunto (es de un TO-252) tambien tiene en cuenta la capacidad termica del silicio.