Nobody hinders you to modify the cell program, and add a automatic homing routine.
Can't imagine what's the problem with the interrupt. Have programmed uncountable robots myself with this technique, and know hundreds of robots that have been programmed like that with no problems.
But if you are happy with your solution, be happy
The interrupt doesn't work under specific circumstances. The robot has to be running the cell program in order for the interrupt to work and I may want to interrupt the program while the cell program is paused. What happens then is that the interrupt stops working for some reason if I trigger it while the cell program is paused and if I start the robot, it restarts from the current line and doesn't send me the signals of program active and application running. I use these two signals to determine that the robot is executing a sub-program. So I get stuck inside of the sub-program with no way to exit it from the PLC. I hope this explains it better. CWRITE works regardless of the cell program being running or paused, since it's on a sub of course.