Yea, in the case of potential unfinished auto actions (PID loop not completing, encoder value not reached, etc.), adding a block in Teleop to initialize everything will safeguard against runaway motors and PID integral windup.
Two simple ways to set that up are:
- Programming->Synchronization->First Call?
- The Call Context global in the default Teleop Framework has an Init state.
Either of these can feed a Case statement that duplicates what you have in the last frame of your sequence in Autonomous to stop/halt/pause/wait.