It may depend upon which servlet container and version you are using. Under the Servlet 2.3 specification, the definition of the sessionDestroyed method was:
Notification that a session was invalidated.
under Servlet 2.4:
Notification that a session is about to be invalidated.
So it is perfectly plausible that a 2.3 engine would blow away the session prior to calling sessionDestroyed, while a 2.4 engine will not.