I stumble with this issue and searched for a solution, but haven't even found a reference to it.
The problem is that in the viewport (in the render all is fine) some materials with semitransparent textures make some objects behind them transparent. Alpha values of 0% and 100% work as expected.
The problem is present in Blender Internal and Cycles. Tried different display options like multitexture, GLSL, display mode Material and Texture but nothing solves or even affects the problem.
After some testing discovered that changing the parent modifies the beheavior, even after unparenting. In the this images you can see the eyebrow and the sphere make the face behind them transparent. I parented the lower sphere to different object and some became solid and remained that way after being unparented. The eyebrow started working properly after being parented to the face.
Managed to reproduce the problem in a smaller .blend
Even the selection of objects changes the transparency momentarily, so in this examples nothing is selected.
If I select the eyebrow the transparency works as expected.
If the blue plane is selected the problem persists.
And if the red plane is selected, even that one becomes transparent when behind the semitransparency!
To permanently change how the transparency works I had to select the eyebrow and parent it to the blue plane, after this I could unparent it safely. If I wanted to reactivate the problem, select the blue plane and parent it to the eyebrows. The problem is back even if you unparent it.
I don't want to parent the semitransparent object to everything in the scene to avoid this issue. Is the a better solution?