the condition in the pixelshader avoids sorting errors by making every pixel fully transparent or fully opaque. the directx settings i mentioned do the same but without the need to calculate proper lighting in the vertex shader.
...the original ati vertex shader only does a very simple lighting calculation which only fluctuates the brightness a little in sync with the waves...