You didn't mention that almost no one actually codes their own progress bars. They just invoke a progress bar that is already available in their programming environment (IDE). If that progress bar doesn't bother to self-correct then it will equally suck for every program that uses that same bit of code.