The current NVIDIA drivers seem to have an error with respect to glGetIntegerv(GL_CONTEXT_PROFILE_MASK), if you create contexts the old-fashioned way.
If you use the regular wglCreateContext function, WGL_CREATE_CONTEXT_ARB requires that, if you get a 3.2 or greater context, then the GL_CONTEXT_PROFILE_MASK will be set to GL_CONTEXT_COMPATIBILITY_PROFILE_BIT. This does not happen. If you create a context the old-fashioned way, this bitmask will be 0, even if you get a 3.2 or greater context.
The spec is very clear on this:
If it returns a compatibility profile, then it must specify this by having the GL_CONTEXT_PROFILE_MASK have the proper bit set. And if it’s a 3.2 or greater version of any kind, then having the GL_CONTEXT_PROFILE_MASK be zero is unacceptable.