Общая схема - ну не знаю что с нее взять. Полагаю что какой-то код меняет установки OpenGL убивая рисование.
Вывод логов c данными выполнил в обеих случаях. Всё совпадает.
Т.е. _array одинаков в обоих случаях. Хорошо, тогда я бы проверил
0) На всякий пожарный glDisableClientState после отрисовки
1) Отключить текстуру и задать цвет glColor
2) Попечатать glGetError (while)
3) Заменить glDrawArrays на glDrawElements быстренько соорудив индексы (здесь это несложно)