Сделал огромное значение ARR и начал только уменьшать.
короче по видимому, когда я в обработчике таймера, срабатывает тик системного. Его приоритет выше, таймер стаовится вложенным. такакя хуйня продолжается 64 раза (или сколько там вложений доступно) и потом прекращается, теряя прерывания. Когда я кнопку отпускаю, прерывания разматываются в обратную сторону, и по концу, мк начинает работать дальше.