The isShiftKey() value for a TabPanelEvent is always false for Events.BeforeClose. It should be true when the shift key is down.

My guess is that the event member of the TabPanelEvent is null.