Is it possible that you are getting that error because of the following (taken from the OpenGL spec):
Client vertex arrays - all vertex array attribute pointers must refer to buffer
objects (section 2.9.2). The default vertex array object (the name zero) is
also deprecated. Calling VertexAttribPointer when no buffer object or no
vertex array object is bound will generate an INVALID OPERATION error,
as will calling any array drawing command when no vertex array object is
bound
I mean is it possible that NVidia is now enforcing the spec where it wasn't before?