@Nathan Webb Are only the drive motors affected or is the whole robot "dying"?
If your batteries, after the drive dies, are still showing good voltage (you can check by placing a multimeter's prongs to the contacts on the battery connector), then it seems like your motors may be "dying" because you're somehow tripping the motors' PTCs. If you don't know what that is, it's a special fuse inside the motor that, when it gets too hot because of excessive current, it'll trip and generate a lot of electrical resistance, preventing the motor from running until it cools down. It gets too hot if the motors are working against an excessive load, such as a heavy robot (which can happen because of a large all-steel robot), excessive sudden reversing, etc. The PTC fuse is present in the power expander and cortex as well, but the cortex PTCs are much harder to trip than that others.
When your robot "dies" the way you describe, quickly feel the motors and see if they feel warm. If they do, it's most likely the PTC. The PTC fuse is there for safety reasons, so it is something that you can't "fix" directly. Rather, you have to design your robot around keeping the PTCs happy. If you're using an all-steel robot, next time (or next season, for that matter), attempt to use only aluminum parts for your robot (or as much as available, if not enough). Check the wheels for friction as well like nenik said. There are other ways to try to lighten the robot's load.