Another maybe great idea for a better erase command is to put elements in a recycle bin or something like that. If you open that drawing recycle bin, you see a drawing with everything you've erased and the possibility to restore the element.
You could always "send" the erased objects to a non-referenced block definition inside the DWG.
That's a great idea Irné!

Attached is my first draft of a possible program which implements this proposed method to give us all something to work with.
The 'recycle' command will move a selection of objects to the 'drawing recycle bin', and the 'restore' command will restore objects that were previously recycled. The recycle bin can be 'emptied' by simply purging the block collection.
Feel free to add comments and suggestions
