Im not sure but I have encountered similar problems when a table becomes locked. I would use SP_Lock or SP_who2 to try and diagnose what process is locking the table...
You should try creating an object variable and using an execute sql task to insert all rows you want to be looped through into the list. Then use a for...