Si esta parado, da igual en que estado, no salta la interrupción por cambio de estado de la señal, y no se incrementa el contaje de pulsos. Así en la rutina del timer, el contador de pulsos siempre estaría a cero, y ya sabes que no se están moviendo las aspas del sensor, y no circula agua.
Yo no te puedo dar un ejemplo de programación de interrupciones y timer en PIC porque hace mucho que me pasé al mundo ARM, pero si buscas por Google te van a salir ejemplos a capazos. Es algo muy común y usado en todo tipo de microcontroladores.
En cualquier caso, aún sin usar el timer, remplazado por un simple bucle, siempre que programes la interrupción para el pin de entrada de la señal, debería de funcionar igualmente, solo pierdes precisión para calcular la velocidad de giro. Como en tu caso solo quieres saber si las aspas giran o estan paradas, da igual usar o no un timer, aunque con el timer es más fácil de programar y el fuente queda más limpio.
En cuanto a usar interrupciones, es conveniente, aunque también se podría reemplazar por un código sucio, en bucle, guardando el estado de la lectura del puerto y contando pulsos cada vez que cambie el estado de la señal. Si no cambia de estado, las aspas del sensor están paradas, ergo no circula el agua. Puedes contar igualmente los pulsos, llevando un contador de tiempo, sin timer, para hacer un cálculo aproximado de la velocidad de giro, aunque será mucho menos preciso que usar interrupciones y un timer, aparte de que será más complicado de programar y el fuente quedará más feo. Con la función millis() o micros() puedes tener algo de precisión, si no usas un timer, y quieres calcular la velocidad de giro.
Las interrupciones y los timer, se crearon entre otras cosas, para facilitar la programación y ganar precisión, hay que usarlas. Si no las conoces, por internet encontrarás montones de ejemplos y tutoriales.