I would suggest an enhancement to the "Pause" action. There should be a "Display Progress" switch on the cogwheel, (as some other actions have) so we can see the duration of the Pause displayed.
In the meantime we can solve this by writing the following code, which will pause for LocalDuration seconds and display the progress bar as it is pausing.
How would it judge "progress"? Your time-based pause is a special case, you've got a really nice work-round, and a "Progress" option would be inappropriate (yet very difficult to disable in the cogwheel menu) in the vast majority of cases.
It utilizes the Repeat actions built in Display Progress feature, and set up like this it has the ability to be accurate to within one tenth of a second (the Repeat will here round up to the nearest tenth of a second).
You could also type your desired pause duration straight into the Repeat field. And the red actions are there only for demonstrating purposes, as well as for testing and fine tuning the accuracy.
For critical accuracy you might have to adjust the duration set i the Pause action, but if my suspicion is correct 98 milliseconds should do quite well on most systems.
EDIT: I do of course see how this is more fragile, and maybe less of a proper pause than any solution re-evaluating a statement against actual clock time — this solution would have the pause duration increased if the macro was for some reason halted or slowed down "pausing" (as it would be if macro was paused mid-pause from the Debug-panel, for instance) — but for most everyday use cases I think this proposed workaround will perform just fine!
My solution shows the algorithm that it would use to "show progress."
Special case? The Pause action's ONLY option is to pause for a specific amount of time. Perhaps you are getting this action confused with the "Pause Until" action which has many more options. I'm not talking about that action.
That's cool, and innovative. But most of my Pause actions contain fractional second values, and your solution is always pausing a "whole number" of seconds.
I was aware that this action does allow for a Progress Bar. I was alluding to it when I said, "as some other actions have."
I isn’t though, set up like this it supports input of any fraction, only getting rounding up to nearest 1/10th of a second through the Repeat. From my testing, set up with 98ms pauses, it does seem to be quite accurate to this precision as well. But yes, you’d need to use other methods than this were higher precision and accuracy is needed