Это может показаться странным, но всё у User работает именно правильно.
Вы обратили внимание на то, о чём компилятор предупреждает? (это именно предупреждение, а не ошибка)
max.pas(4,4) Warning: Variable "i" does not seem to be initialized
Это проблема не Geany&Pascal и не прав доступа, а программиста, который ими пользуется. И на выходе получаем непредсказуемо работающие программы.
Вообще-то по всем правилам хорошего программирования переменные перед вычислениями нужно инициализировать (к примеру, i:=0 сразу за begin), ибо они совершенно не обязаны после объявления быть равны 0 (там вообще может находиться совершенно случайная величина) и ворнинг компилятора совершенно справедлив (i:=i+10 в Вашем случае может быть равно чему угодно, включая ошибку превышения диапазона значений объявленной переменной (0..255 для byte), если непроинициализированная i перед вычислением окажется больше 245) и то, что Вам везло под своей учёткой совершенно не означает, что такая примитивная программа будет работать всегда одинаково и показывать одинаковый результат, равный 10.
Даже приснопомянутый ТурбоПасквиль ДОСовский этого требовал. Помню, когда долго соображал (понадеявшись, что после обьявления переменной она обязана инициализированться нулём), почему правильно написанное вычисляется вообще непредсказуемо (ну, а компилятор даж ворнингов не показывал).
Если же Вы считаете, что всё так и должно быть, то отключите в конфигурации компилятора проверку на проинициализированность переменных (что под Вашим пользователем, видимо и сделано было, а под User используется дефолтная конфига с ужесточёнными проверками).