Maybe after a restart of the hub could be an issue too, haven’t tested.
In that case we go back to having a single remains as best solution, for that, either create a rule in Rules API like @orangebucket mentioned, or use the virtual switch approach which is also a single ramains rule and won’t have those problems plus the other routines will look cleaner.
If I wanted a Routines based solution I’d probably be using four, along with a virtual (or real) device (switch or motion sensor) that is set to only send events on change of state (although preconditions in the Routines would be an alternative safeguard). One to activate the virtual device if any motion sensor was active. One to deactivate the virtual device if all the motion sensors are inactive. One to turn the lights on the virtual device is active. One to turn the lights off if the virtual device has been inactive for x minutes.
I like to separate out the nuts and bolts of the detection of motion from actions I take if motion is detected and when using Routines I feel the need to make it really clear.
I’ve just tested it for research sake and wasn’t able to replicate it:
Disabling and enabling the rule doesn’t affect, I triggered one sensor without triggering the other one and the routine triggered after 1 minute of no motion which is the time I set.
Then I thought, the rule already existed, maybe the state of that remains is kept until updated. So I deleted the routine and created a new one. Triggered just one of the sensors, and the routine triggered after 1 minute of no motion.
Then I restarted the hub, just out of curiosity, again, triggering only one of the sensors. The routine run after 1 minute of no motion.
So maybe there’s no reliability difference between using one “for X minutes” or two “for X minutes” in the same routine.