When it hung, check the CPU usage in task manager, was it 100%?
I had that kind of problem a few times when it hung at xx% but it was only after the CPU resources overtaken for a long time (multiple
dvdshrink etc). In my case, after shrink done, SMP client never take back the "cpu usage" and I had to close the client and re-run. It did start from the xx% and not from 0%, fortunately.