Und noch der Grund für diese Lösung:
.Repaint und .Refresh schicken nur Windowsnachrichten raus, welche sagen "aktualisiere dich mal"
aber diese Nachrichten werden (noch) nicht verarbeitet (bei Sleep passiert eh nix, da alles schäft ... schau dir mal
Delay an).
Application.ProcessMessages verarbeitet die Nachrichten (welche sonst erst frühestens nach dem Ende der DOSBefehl-Procedur verarbeitet würde).
PS: ein Zuweisen von Text an das .Caption schickt auch schon diese Nachricht raus.