One thing you might check is for the correct version of the method you are calling.
For example, glDrawElements() has multiple overloads. The version that doesn't take a buffer can only be called when VBOs are enabled. The other versions can only be called when VBOs are disabled.
This is very confusing starting out, since VBOs aren't part of OpenGL 1.1 but glDrawElements() for VBOs is still defined in GL11 :lol: