С момента вашего сообщения прошло два года, но это единственная запись в Stack Overflow, касающаяся MappedByteBuffer и загрузки данных в VBO, и я думаю, что нашел решение.
На мой взгляд, проблема не в этом коде, а в данных, которые вы пытаетесь загрузить. В моем случае это помогло, когда я изменил порядковый номер хранимых данных вершин на младший.
Это так же, как Google делает это в представленном примере: точки генерируются с использованиемphere.c, поэтому, если я запускаю их программу, я получаю значения с прямым порядком байтов, и поэтому их демонстрация работает. Когда я попытался сохранить значения из Java с помощью DataOutputStream, я получил порядок с прямым порядком байтов.