You can monitor the 'ObjectAppended' and 'ObjectErased' events of a Database. In your event handler check to see if the passed in object is of type LayerTableRecord, then you know if the object being added or erased is a Layer and you can take some kind of action. In the ObjectARX dist, look under ..\samples\dotNet\EventsWatcher for some samples of monitoring Database events.