Why not cursors? Although CURSORS do have a valid use they are used way too often in situations where they are not the best solution. They are simply RBAR, a Modenism for Row By Agonizing Row.
Also, the attitude of "this is a run-once-ish script so I don't care about any kind of overhead" is one that can creep into other code. Also, if someone else comes across this script and sees that it may help solve another problem may use it not knowing it may be totally inappropriate for what they are trying to accomplish.
Taking your Looping through a table comment, that demonstrates procedural thinking, not set-based think. SQL Server works better when coded in a set-based fashion.
Again, we can't really help you with your current solution because only you can see it. Any suggestions are just shots in the dark.