PulseIn doesn't feel like the right way to do this.
Firstly, if you're using an MVR sensor the signal amplitude will be proportional to speed, so you need to either have a very effective external conditioning circuit, or a threshold that varies with speed.
Secondly, what you're trying to create is effectively a phase-locked loop. Just comparing each pulse length against a maximum doesn't really achieve that.