OpenGL 2 has always been object oriented. For example textures are objects. Display lists are objects etc. Only the more recent things like framebuffers and shaders were implemented in a way that seemed to please the ARB more than the previous approach.
Only the PIPELINE has been configured with a state-machine. OpenGL 3 will do this a bit differently, but i think that there will still be some kind of small state-machine left. Otherwise it would be too much state to pass to each draw-call.