I don't have many ideas to help you, but since no one else has jumped in, I'll give you what I have (besides my sympathy).
Check your transformation - is the status somehow getting set to something wierd? I think some of them (like maybe DTSTransformStat_SkipFetch = 4) will keep you on the same row.
Check for blocking (source & target), is something preventing you from reading or writing?
When you changed the query, did you add the parameter placeholders too (the question marks)?
If you run a trace (on the source and target), do you see any activity? Do all the queries finish, or are some 'hung out to dry'?
Does the transformation map the new columns added to the insert/update queries?
What happens when you delete the 2nd record in the table, will it run then? What if you delete the first? All but the first? All but a random record in the middle somewhere?
As you can tell, I'm kinda digging for suggestions and don't have anything specific. I doubt any of this will help, but at least you know someone looked.
--PS, what did you mean "ran it through the debugger?" did you export the DTS package and load it in VB Studio? If so, where exactly is it hanging up and did you notice anything else like pegged CPU (and which CPU - yours/source/target)?