the IEditableObject interface methods get called a lot during a session. I'm not sure if you want that information, because I don't think you can use it. What I don't see is why you don't build up your information to process (deletes, saves) during the actions of the user in the form. If the user clicks Save, you KNOW the edit cycle is over, and can just proceed with saving the changes. If the user clicks Cancel, you also know the edit cycle is over and can just throw away what you've collected and revert the serialized data back into an object graph.
So I think it's more useful for you to hook into for example grid events when the user does something, as IEditableObject.BeginUpdate is called for example when a user enters a cell, moves to another row (thus entering a cell on another row calls this method twice) and cancel edit is called twice if the user presses ESC twice (once for the cell, once for the row).