I had the exact same problem when I falt here searching for a clue. Nothing found elsewhere so I made an ugly solution after trying zilions things:
Update directly your record in the database to prevent undo to revert an update on the form. Exemple:
DoCmd.SetWarnings (False)
DoCmd.RunSQL...