Ya he solucionado el problema, no es un problema de código (funciona perfectamente), es un problema de hardware.
El motor DC de la bomba de agua de acuario utiliza un transistor NPN, un diodo y una resistencia. Pues bien, he detectado que en mi montaje sobre la placa protoboard que las patillas de estos componentes electrónicos hacian contacto entre sí, fue aislarlos los unos de los otros y todo volvió a funcionar de forma correcta. El motor paraba, cuando el código daba la instrucción de que parase y funcionaba cuando el motor Ya me pasó un problema similar hace tiempo.
Saludos a todos y gracias por vuestra ayuda.