Возможно, это может быть бесполезно для вашего приложения, вы можете использовать glGetBufferParameteriv с аргументом GL_BUFFER_SIZE: он возвращает количество байтов объекта буфера.
Трудно сказать, что это решение, поскольку вы должны знать внутренний формат элемента буфера (и, действительно, его размер в байтах), чтобы иметь количество элементов, составляющих объект буфера.
Конечно, лучшее решение - хранить большую часть информации в классе, представляющем объект буфера, но, как я понимаю из вашего вопроса, это трудно реализовать.