Yes, a context is necessary for many functions to work properly.

I'm not sure, but as I recall, a proper pygame/OpenGL context also requires a pygame.DOUBLEBUF flag.  That probably doesn't influence whether the context exists or not, but it should influence whether you can use it later.

Ian