When a new Element is added via the toolbox, the change is recorded as a DesignerTransaction by the Recorder service as an ElementAddition object. You can listen to these events by overriding PictureDesigner.TransactionCompleted. Call the base class implementation first.
To change the name of the a new object, instead of using the default naming algorithm, you will need to create a custom NameProvider service, replacing the usual one. There are three methods you need to override and it is a little complicated. We would need to provide a sample for you. What is the algorithm you wish to use?
When the selection changes, using any mechanism, the Selector service raises the SelectionChanged event. You can listen to this event, or override the SelectionChanged method on PictureDesigner (be sure to call the base class implementation).