Not only when it dies unexpectedly. I had a whole lot of cases of normal exits where it also failed to flush the session, which is why I recommend to always manually call $session->flush().
The CGI::Session maintainers know of these problems, and encourage you to not rely on auto flushing.