Thanks for these comments. This code is for a simple robot for teaching Primay School kids age 10/11.
The major activity is fore/aft and up/down movements of 6 legs (12 servos) which by the nature of the mass, inertia and servo resonance are relatively slow and require a lot of I2C messages and timing delays. The walking action is a "tripod" of legs balancing the robot so I don't want it to fall over.
Basically, every few seconds the requirement is to read the RF data arriving "NOW" and set off the next 2 - 4 second leg movements.
It would be a major exercise to keep reading and discarding the RF data when a simple Flush & read is required.