Speed limiter - turn off a motor if a fixed speed limit is exceeded
Your idea is sound, however doing once per rev sensing the rider is going to feel like he is driving along on a train track bed. 

You need much more frequent sensing, the more the better. You can still use a hall effect sensor and magnet, but instead of having the magnet on the wheel, arrange it behind the sensor and have the sensor close to a cog on a gear.



The on-off control will work but it will still feel "rough" to the rider. It is better to use a pulse width modulation system (PWM).

A (PWM) is basically the same thing as your idea, but instead of turning on and off every sensor pass, you turn on an off all the time at a much higher frequency. Perhaps 50KHz.

How much on time vs off time, the "duty-cycle" you "calculated" and adjust based on the sensor data. 



As someone mentioned the system needs to be failsafe too. That is, it can NOT be allowed to get STUCK IN ON MODE.

When starting out the ON part could be 100%. However, you really do not want to go from full acceleration to cruise in a single move either. Especially, if the acceleration your vehicle can provide is large. The rider will be thrown forward.. 

The same goes for sudden deceleration.

Of course, if this is for a non passenger/"breakable cargo" application, the transitions do not matter so much, though wear and tear on the vehicle itself is still an issue.