Clipping works perfectly, but you have to enable it. ;)
By setting glEnable(GL_CLIP_DISTANCE0+2), you have enabled gl_ClipDistance, not 0 and 1.
Also, I'm not sure whether your math is correct or not. It depends on your algorithm.
Just to know, if gl_ClipDistance[x] > 0.0, the vertex is visible, if it is <= 0.0, it is clipped.