It seems likely your script is changing some value that fouls up the following steps.
Maybe you should have a "Master Script" that calls the Rooms, Staff, etc. You will have to globes ($$data) or pass parameters.
Perform Script [ Room ]
If $$Conflict = true
Perform Script [ Staff ]
Perform Script [ X ]
Perform Script [ Y ]
In the end I was able to solve this with the help of the original developer(s) – the idea is actually pretty "easy" but works just fine:
Combine the resources into one field and use this field to run the checker script!
Thanks for your help though and regards,