Strange that the Query_Unload event didn't work. It always worked fine for me.
eg
Code:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbAppTaskManager Then
        'do your stuff
    End If
End Sub