Обработчик события вызывается функцией объекта элемента управления, и он может иметь больше кода для выполнения после завершения обработчика события.Если вы удаляете элемент управления, то любой код, который ссылается на этот объект, может вызвать нарушение прав доступа.
Что вам нужно сделать, это заставить вашу программу удалить элемент управления после того, как это сделано свесь код, который он сейчас выполняет.Для этого вам необходимо опубликовать сообщение.Если вы не знаете о сообщениях, это хорошая возможность для изучения.
Вам необходимо создать новый идентификатор типа сообщения.WM_USER + 1
должно работать.Одним из параметров будет адрес удаляемого элемента управления.Установите обработчик сообщений в своей форме, который обрабатывает этот тип сообщения и освобождает элемент управления, указанный в параметре сообщения.А затем в обработчике событий отправьте PostMessage это сообщение в вашу форму.Это должно работать, не вызывая нарушений доступа.