Can you provide a test scenarion so we can reproduce it on our machines?
I'm confident the c.u.r.s.o.r. *cough* doesn't restart "all of a sudden, all by itself".
My guess would be there's a code change "outside" that fires the code where the loop is being called. Maybe a trigger added to the Addresses table or something like that.
If you run a profiler trace, do you spot anything unexpected?