So why not have the transmitter send a '!do_nothing' type command continuously while not under command? This will cut out the noise when in range.

If the robot is out of range, it wont pick up this '!do_nothing' command and then just stop the motors in your out of range sub.

Then keep looping around your out of range subroutine waiting for the '!do_nothing' command to come back.

Try and keep things really simple. Adding timers + interrupts just add another layer of crap that make things more complicated then they need to be.

Cheers
Squib