Ошибка функции GlobalVariableCheck()

 
если значение GV-переменной равно 0, то функция GlobalVariableCheck() возвращает false, хотя переменная СУЩЕСТВУЕТ
 
Ну да. Просто учитывайте это. Делайте счетчик от 1, а не от 0. И логику проверки делайте соответствующую
Причина обращения: