When I enable the robot, the motors output like they are supposed to for a half second, then seems to hang. The probes stop updating and the motors stop running. Can anyone tell me why this is? https://i.imgur.com/cJqSXUz.png
Your drive motors are being commanded only once. Things will work better if you add a While around the drive code, with a Wait of 10 or 20 ms to keep the loop from eating up all the CPU time.
The Gyro Get Angle will have to be duplicated inside the loop for the 90 degree turn. (You can’t communicate time-varying values into or out of a loop; they take their inputs once when the loop first begins, and produce an output once the loop finally finishes.)
Your “Turn 90 degrees” frame sets the drive state to 4, which I see is supposed to turn at 30% power. But then it immediately sets the state to 3 while it waits for the turn to complete. I assume drive state 3 just sits there doing nothing. Get rid of that extraneous 3 -> State3 underneath the gyro angle indicator in the while loop.
(I suggest that you move the frame labels from above the flat sequence to actually inside the frames they are labeling. That way they will stay connected to the code they are describing if you ever rearrange things.)