Пройдите по скрипту в ручную и внимательно посмотрите на действие, на котором переменная обнуляется. Скорее всего у вас какая-то ошибка в скрипте, если нет, то прикрепите тестовый скрипт, чтобы проверить.
[Решено] Выполнение команды после ошибки
-
Вот в вики все написано. http://wiki.bablosoft.com/doku.php?id=ru:how_to_catch_errors