I'm glad you ended the way you did: progress bars aren't supposed to be "perfect" timers of how long a task will take. they are to give a user a "realistic/reasonable expectation of how long something will take, assuming there are no changes in the CURRENT performance speeds of the tasks involved" and "letting the user know it IS working. progress is being made."