I encountered this similar problem as well. AFAIK there is no OnCopy or OnPaste event.
What I did in the end was to look at the Merge property of the DocumentOpenEventArgs. This is true if a Paste is performed and false if a document is opened. Unfortunately it is also true if the user gives and Import command, so you can't distinguish between these two.
In fact, a document is really being saved. When copying, a 3dm file is written to a temporary location. It is imported/merged upon pasting.
Come to think of it - you maybe can also check the filename. If it is in %Appdata%\Temp it is probably a copied document.