RESOLVED
My boolean var gb_NewEditSession was persisting but located in the wrong place because I didn't understand event firing sequence.
INSIGHT: When the user stops editing _OnStopEditing fires before _OnSaveEdits (while the reverse is true when the user saves edits)! Since _OnStopEditing fires both when edits are saved and when edits are stopped, I moved my var assignment to _OnStopEditing, conditional to whether "save edits" or 'stop editing" fired the _OnStopEditing listening event:
Private Sub EditorEvents2_OnSaveEdits()
On Error GoTo EH
gb_SaveOnly = True 'set condition used by _OnStopEditing
Exit Sub
EH: MsgBox Err.Description, vbInformation, "On Save Edits"
End Sub
--------------------------------
Private Sub EditorEvents_OnStopEditing(ByVal Save As Boolean)
On Error GoTo EH:
<clip>
'PURPOSE: Boolean used by _onstartediting to determine if new editing session
If gb_SaveOnly = True Then
gb_NewEditSession = False
Else
gb_NewEditSession = True
End If
<clip>
Exit Sub
EH: MsgBox Err.Description, vbInformation, "On Stop Editing"
End Sub
Note: In my previously attached code gb_NewEditSession was called gb_CheckdbMetatables