If you step back a minute, your code is saying:
every 5 seconds turn the laser on and every 5 seconds turn the laser off
The race condition is pretty self evident.
There's also the case where the laser goes out of range, but comes back in again within 5 seconds. You are still going to have the previous '5 second Wait to turn off' code sitting around, so if the laser is turned on again, it's going to be turned off in less than 5 seconds.
I'd recommend using the new timer object over Wait. People are constantly abusing Wait. With a Timer you can control when to stop a timer, but you can't stop a Wait (without a bunch of extra work, which Timer is doing for you).