You are correct that the sensor input is only used to trigger the start of a program, not to stop it. In fact, the way it works is that when the sensor input is activated, it stops whatever is running currently, and runs the designated program. So let’s say you activate the sensor input, that runs the second program, then you activate it again, that will stop the second program but then immediately start it over again.
The buttons on the controller can be used to stop any running program, but as you said, your controller is inside a box so you don’t have access to the button.
Your 555 timer solution is very clever. Kudos for that.
It’s possible (if you don’t mind soldering) to solder two wires onto the controller’s button (I have to double check the user manual, but I think B1 or B2 is used to stop all running zones when you long press it), then you will have access to that functionality outside of the box. We can also modify the firmware to add a logic where if the sensor input is activated, and that program is already running, we stop it instead of start it.