Wrong shadow on the mesh? (bl nodes)
Here's a simple solution:


Your shadow is working correctly. The problem is that lighting in blender internal/GLSL has several parts to it. Shadows (cast by other objects that block light sources) are one part, separate from shading (an object getting darker where it faces away from a light source). In other words, using just the "Shadow" output of the lamp data node will allow other objects to cast shadows on the material, but not allow the object to cast shadows on itself.

The bright spot in the middle of the shadow was there because shadows work by projecting the light-blocking mesh onto the shadowed mesh. The protruding nose on your shadowed mesh was shielding some of it from being touched by that projection; you could say it was like an anti-shadow. If this seems ridiculous to you, you may enjoy the cycles rendering engine.