Re: Смотря какие цели удаления.
Цель - удалить-освободить "навешенные" на элемент свойства. Максимально возможно без утечек. В приведенной библиотеке events.js из-за этой ошибки в IE6 не выполняются у меня бизнес-логика.
В принципе, присваивание свойству undefined - освободит связанные свойством ресурсы, а оставшееся свойство... ну пусть и висит - оно не мешает, это как бы пустая ссылка уже. Да, оно находится в списке свойств, но привязано к элементу, и утечки с ним уже не возможны - время жизни свойства определит сам элемент.
Для events.js этот путь мне кажется достаточным.
Для объектов или массивов delete в IE6 работает нормально.
document.body.x = 1;
document.body.removeAttribute("x");
alert("x" in document.body); // false в IE
но этот же код true в FF !