glGetString(GL_VERSION) still returns 2.1.8781.
What type of graphics card do you have?
The version of OpenGL supported depends primarly on two things: your driver (which if you have the most up-to-date driver for your video card you don't really need to worry), and more importantly your hardware. OpenGL functionality is all implemented in the driver. When you make a call to query the version, the driver will return the maximum version IT supports, or the maximum version your graphics card hardware supports. Remember, OpenGL is a specification, the actual implementation (video-card HW and driver-specific) is a mixture of software and hardware implementations. If you have an older graphics card that doesn't support newer OpenGL functionality, then the driver will send back the version of OpenGL that your graphics card does support.
This has nothing to do with your header files or your .lib files that come with your system.
Even if your hardware doesn't support an OpenGL core version, you may still be able to run newer OpenGL functionality as extensions (look for ARB, EXT prefixes). You can use GLEW to query for these extensions support.