There are two related GoView events: SelectionDeleting and SelectionDeleted. They follow the .NET convention regarding events – the SelectionDeleting event happens before the deletion occurs, and it passes a CancelEventArgs so that you can set its Cancel property to true if you want to prevent the deletion; the SelectionDeleted happens after the deletion has occurred.
GoView.EditDelete is the method that the Delete key action calls.
GoView.DeleteSelection is the method that you can call to programmatically delete the selected objects. It is called by GoView.EditDelete.
You can control whether individual GoObjects can be deleted by the user by setting the GoObject.Deletable property, or by setting the GoLayer.AllowDelete or the GoDocument.AllowDelete or the GoView.AllowDelete properties.
Even when the GoObject.Deletable property or one of the AllowDelete properties is set to true, you can programmatically "delete" any object by calling GoObject.Remove(), or equivalently, by calling the object's owner's Remove method: GoGroup.Remove for child objects and GoLayer.Remove for top-level objects.