I assume that you are closing message box after few seconds automatically.
In a loop, if there is no delay after message box, you will see message box back to back until loop finishes thus making it hard to observe when previous message box closed and new one appeared.
So having delay, there will be a notable difference.
I would suggest disabling that delay activity and then observing the behavior and then re enable the delay and observe, that will help you understand better what I have tried to explain above.
The delay you used will make you message box execute 0.5sec late so that you get a more human-readable countdown behavior and also CPU usage stays low.