Probably the best approach is to use a boost::shared_ptr and never need to explicitly delete it.
There might be some other work-arounds for the problem (such as setting a deleted pointer to zero, so that it may be deleted with no ill effects) but they are not fixing the real problem.
Also, consider a third party program, such as valgrind, to help debug memory issues.