С точки зрения C ++, то, что вы делаете, хорошо.Вызов delete для нулевого указателя не работает.Однако в этом нет необходимости.
С точки зрения VC ++ 6, я не могу сказать, что он общеизвестно несовместим.Я не могу себе представить, почему это может быть проблемой, хотя.Но, опять же, это, безусловно, не нужно.
Определенно не вызывайте delete для этого указателя, пока он не установлен в NULL. Вы не выделяли с новым, поэтому не вызывайте delete.Об управлении ресурсами здесь заботятся функции COM.