$i += 1
....
...
If $i=1600 Then Beep()
Это не таймер, это счетчик. Почему он помещен в таком внутрь цикла я не в курсе, спроси у того кто этот код писал, мб у него есть логическое объяснение. Исходя из текущего кода он тут стоит только лишь для того чтобы известить хозяина о том что цикл прокрутился уже 1600 раз. Если нужная кнопка будет отжата раньше ты не услышишь писка. Если писк ты уже один раз услышал в этой части скрипта то больше ты никогда не услышишь писк до момента физического перезапуска скрипта. Так же если ты не отожмешь кнопку мыши скрипт никогда не покинет эту область кода.
1) После старта скрипта если нажата нужная кнопка происходит ряд манипуляций, далее ряд манипуляций в ограниченном цикле которые имеет конкретное условие выхода которое неизбежно наступает в случае отжатия заданной кнопки и в конце которого $p = 1.
2) После этого цикл начинается заново, если он видит что нужная кнопка не зажата то он запускает вложенную во вторую часть первого If проверку $p = 1. Если он видит что $p = 1 то он запускает вложенный в эту проверку цикл который имеет свой счетчик и четко обозначенное условие выхода при счетчике >= 400 или зажатой заданной кнопке. По окончанию этого цикла если скрипт видит что заданная кнопка не зажата он пищит. В любом случае в конце он приравнивает $p = 1 (Вопрос зачем ведь условием попадания в эту часть скрипта как раз и было $p = 1 и за время нахождения в этой части скрипта $p не изменилось и по окончании все еще = 1. После всех манипуляций цикл начинается сначала.
3) Если будет зажата заданная кнопка скрипт перейдет к части 1), но в этом случае если в прошлый раз он дошел до $i = 1600 он уже ничего не будет ожидать. Для него $i оттикало еще в первый раз и теперь оно для него по дефолту >1600, скрипт не будет больше сигнализировать о чем то в этой части скрипта.
4) $a для скрипта уже >400 и нажмешь ты кнопку или нет скрипт не будет ждать и продолжит выполнение.
Можно еще писать и писать но думаю хватит, это итак никто читать не будет.
Вот коротко и ясно, вердикт: Приведенный выше скрипт не дееспособен и нуждается в доработке.