Yes, this is true. The RhinoDoc.DeleteRhinoObject event is fired because the original object is being deleted (e.g. moved to the Undo stack). A RhinoDoc.AddRhinoObject should follow.
I see. So this is also raising a ReplaceRhinoObject event. That is followed by Deleted and Added events. Sounds good to me. I think I can do what I need with these.