Why doesn't a short-circuit immediate consume all voltage?
Because in the real world there is nothing such as a perfect wire or a perfect battery. There are parasitic resistances, inductances, and capacitances everywhere. 

Plus there is the issue of the chemical reactions in the battery that is taking place to produce that electricity. That can only happen so fast even if you had a battery with zero parasitics.

Also, I find it pretty hard to believe that your shorted 9V runs for an hour. What is your definition of depleted? Batteries are considered dead long before they reach 0V in the same way you are too tired to do useful work long before you drop dead from exhaustion. I can only assume you are talking about reaching 0V across the terminals for purely academic purposes.