WorldWind does nothing to prevent you from implementing custom GL code which uses Vertex Buffer Objects, or any other GL feature for that matter.
It looks to me like you're custom code is leaking GL state. Here's an snippet which demonstrates what your VBO usage should look like:
Note the usage of OGLStackHandler in the try/finally block. We use this pattern internally in WorldWind to prevent GL state leaks, even when an exception occurs during rendering. This is a useful pattern, and we recommend using it in your own GL code.
// Save the current GL buffer binding state.
OGLStackHandler ogsh = new OGLStackHandler();
// Bind your vertex buffer object, and use it as the source of vertex
// coordinates when glDrawArrays() is executed.
// Restore the previous GL buffer binding state.
Please compare your code with the above snippet, and let me know if there are any key differences.