We could do that but then we'd also need to change it in World::end() too, maybe in other places and if we wanted to render something else in the future it wouldn't be possible. There's a few things we could do, but I'll need to think about it more.
EDIT: the previous state that is stored is only a flag for checking if the state has already crashed. I'm not sure if Daniel was going to do something else with it but there's no reason to have it there at the moment. So if we replace it with a bool and delete game before starting crashed state it should fix things. Using gui in Selection::update() for centering on units is still a problem but seems only when in crashed state.
EDIT2: The reason why the gui in Selection doesn't work when crashed is because Game throws an exception before Game::init() is callled (which goes all the way down to Selection::init(Gui *gui, int factionIndex)). Checking that gui is not null before using it works but I don't think this is an ideal solution since it needs to be check every time it is used in one of the methods that's called in Game::~Game().
Changes have been committed to trunk.