ZWrite On not working ?

I have a selfmade transparent shader, with ZWrite On (and “Queue” = “Geometry+1”),
yet other transparent objects are always drawn over it,
so it seems as if it isn’t writing to the zbuffer.

it’s the same shader as my previous question:

does anyone know what’s wrong?

Maybe other object with transparent shaders do not read Z?

I’m fairly certain it’s because of the “alpha” in the declaration of the surface shader.