Иногда попадаются скриптовые функции, которые работают дольше остальных (мессадж бокс, к примеру). Игра поступает хитро: не закончив выполнение одной функции сразу приступает к следующей, и скрипт работает некорректно. Я в таких случаях пихаю в подозрительных местах sleep(3), часто помогает.