The problem with using gl_FragColor.a = 0. as a way to achieve pure transparency is:
A.Even though it result in pure transparency, it will still write something new into the transparency-buffer
B.Nothing - everything will work fine
C.Even though it will result in pure transparency, it will still write something new into the depth-buffer
D.GLSL won't allow you to set just the alpha component in a single line of code