RhinoCommon User Data OnDuplicate Method

You should be able to catch the rhino event RhinoDoc.AddRhinoObject using (in VB at least) an AddHandler statement.
From the event arguments you can get the new object that was added.

This is what I’m doing to keep track of user data when the ‘holding’ object is moved or deleted.

If you do go down that route, you might want to read this thread: DeleteRhinoObject Event for multiple objects?