If that doesnt work you might want to take a look in ABS's pack. If im right its not the same as below (he took more time optimizing the entity flow) but close to it though.
All doors should start locked. The timer should send an open output to all setup doors (setupdoor_*). The tcp_round would however unlock output to the doors of just that round (setupdoor_r1_*). This would stop other doors from opening as those are still locked. Best would be to name the doors something like:
setupdoor_r1_1
- Setupdoor marks its a setup door and would allow the timer output to simply send a value to setupdoor_* (marking all doors).
- r1 defines the round. This will be used for the tcp_rounds as for example round 1 sends a value to setupdoor_r1_* and round 2 to setupdoor_r2_*
- That last value allows prop_dynamics to be parented to a door. It can be somewhat anything you want.