Did you miss glEnable(GL_DEPTH_TEST)? I don't see it anywhere in your code (although I'm aware you didn't post it all, it might be somewhere else.)
Also, both zNear and zFar MUST BE positive in perspective projection (not sure about orthogonal.) Actually, it doesn't make sense (at least syntactically) to have the planes reversed. Bear in mind that even if OpenGL looks towards the negative Z axis, z-planes are positioned relative to the viewpoint (positive being forwards from it.)
I'd be glad if someone posted a use case where negative planes are useful, and even more glad if it made sense to have the planes reversed (zFar being behind the viewer as you do.)