Ok, so I found the reason for this failure.
Although the depth check was turned off and the fragment shader discarded certain pixels making them transparent, the triangles were still closed due to writing to the depth buffer.
I had to disable writing to the depth buffer using this code:
GLES20.glDepthMask(false);
Obviously, writing to the depth buffer was also disabled in the Rendermonkey, resulting in the correct image.
Thanks for your answers below, but I do not need to use alpha blending - I need to use alpha testing, and this does not require triangles sorting.
source share