One good reason could be the 2 DIV32 INSIDE the test loop ...

I measured once DIV32 took ~ 700µs ...

this is at least one very good reason for the PULSIN way to show a false result on the scope ... despite calculated RPM value to be right.

Alain