ARB_shader_atomic_counters is not in the extension string, but when I use it it works anyway, partially anyway.
Getting the max_whatever_atomic_anything with glGetIntegerv always returns zero (that's the part that doesn't work). Creating and binding a buffer of type ATOMIC_COUNTER_BUFFER works fine, as does using atomic_uint in a shader. The results from using the atomic_counter are as expected (ie, the counter works, as far as I've tested it anyway, I'm not sure whether it actually works 100% correctly).
So it would appear that atomic counters work, but the driver wants to deny it, and it's bad at lying. What's going on here?
Related, the driver also denies being able to use GLSL 4.20, but shaders with #version 420 work fine.