Theres very little difference between the init and display methods, the only thing to remember is that init only gets called once at startup (so may be a good place to load textures and other resources). Most GL state (blending, alpha testing etc.) is best left to be specified in the display since it generally causes less problems debugging.
Remember that GL is a state machine, so a lot of the time the particular order of operations is pretty flexible. Mainly as long as the state is setup before you draw your objects then you’ll be ok. Assuming you’ve already got textures set up and displaying on screen, you simply have to add:
glEnable(GL_ALPHA_TEST);
and set your compare function with:
glAlphaFunc(GL_GREATER, 0.5f); // Or whatever values you actually need.
If that doesn’t give the correct effect, then odds are you’re not generating the alpha correctly (either because the texture isn;t loaded right, or you’re getting lighting and materials interfering). Start from a simple textured triangle and work up.