Да вы меня не так поняли , изменяется количество итераций цикла for в большую или меньшую сторону (в зависимости от введенного с панели числа)и из за этого динамически изменяется количество раз сколько код исполниться внутри цикла и соответственно должно меняться время исполнения цикла программы , а не задержка как у вас. В большую изменяется а в меньшую нет , что для меня и не понятно хотя количество циклов реально меняется в обе стороны а вот время выполнения только в одну сторону.
Хотя вот в посту #3746 похоже замаячил свет в конце туннеля.