Есть ли вероятность, что это не тайм-аут, а какая-то другая проблема? Возможно, ошибка времени выполнения, которая не перехватывается / не регистрируется?
Основное различие между запуском из интерактивной консоли и в виде сценария заключается в том, что при интерактивном запуске вы находитесь в режиме программиста, а в сценарии - в режиме пользователя. Я не могу придумать причину, почему это имело бы значение, но, возможно, ваш код чувствителен к этому.
Вот кое-что, что можно попробовать: написать очень простой скрипт, который ничего не делает, только время от времени выписывает символ. Может быть, что-то вроде этого:
F I = 1: 1: 360 H 10 W "." ; Напишите точку каждые 10 секунд в течение 1 часа
Если время ожидания истекло, вы знаете, что это терминал, а не ваш код.