Is the entire thing under one transaction? I've had issues with really large long running transactions. Try breaking it into smaller ones.
Are you being blocked by something else? When things look stalled, fire off sp_who on another connection and look for a value in the BLK column.
Are you sure that it's not doing anything? How can you tell?
-Mike