rpmcount = 0;
muss natürlich bei gesperrtem Interrupt passieren.
detachInterrupt / attachInterrupt würde ich rausnehmen. Dadurch geht nur unnötigerweise was verloren.
Ob das aber dein "Springen" verursacht ?
Vermutlich war eher der Datentyp byte zu klein für eine ganze Sekunde Impulse.