Editmode undo operator was using the operator OPTYPE_UNDO flag as well as its own EM_DO_UNDO option.
This gave 2 problems.
- python suppressed undos would fail (as in the report).
- Undo push was called twice on exiting editmode for no reason.
Use the operator undo in this case.