First: No matter where the problem arises, I am happy to learn, that it is not inside my skull; I was going crazy.
Also I learned something about Windows. (I am new to FP, but used Turbo Pascal on DOS machines many years ago. That was more simple.)
I removed CRT and changed Delay() to Sleep(). That gave same behavior as with CRT and Delay().
With Application.ProcessMessages and Sleep(), the procedure works as intended.
I also tried the wait procedure put forward by GetMem. That works too and will be usefull when several delays are needed around in the application.
Thank you to you all!
Best regards,
Niels