Do STL iterators need to be deleted when you're done with them? If I remember right, iterators are nothing but pointers that have been gussied up, but do they have their own destructors that clean up all their internal mess? I can't remember for the life of me and google is no help.
Most iterators don't have members, per se, only operators. Further, a lot of iterators are nothing but pointers so there is nothing for a debugger to show you. Error messages are a concern, but compiler vendors (including MS in VC7) are addressing this, and there are coding techniques that can be employed to reduce the "noise" and produce understandable error messages.