Shape Keys and Modifiers occur in a strict order and this appears to be the cause of your problem.
The Shape Key acts on the base mesh. This means that it will always apply first. When you're in Edit mode certain modifiers are automatically disabled - otherwise you wouldn't be able to see the true state of the mesh. This includes disabling the Hook modifiers. This is why you are able to apply the shape keys and see the result when in Edit mode.
When you're in Object mode the shape key is actually being correctly applied. However, immediately after the shape key has been applied the Hook modifiers take effect - and move the vertices back to the place of the hook - thereby effectively undoing the shape key. The slight motion you're seeing is due to differences in the 'smooth' falloff affecting the surrounding vertices.
When Hook modifiers are first added, they are created with a Strength of 1.0. This Strength is effectively an 'Influence' value. Setting it to 0.0 will result in the hook having no effect on moving the vertex from its 'current' position to the 'hook' location while setting it to 1.0 will move it fully to the 'hook' location - values between 0.0 and 1.0 vary the strength of the hook.
Therefore, the solution to allow the Shape Key to still have an influence (and not be completely overridden by the Hook) is to reduce the strength of the hooks. This will mean that your empties will need to be moved further to have the same effect on the vertices but will mean that the contribution of the shape key is still taken into account. For example, changing your Hook strengths to 0.5 will result in the hook only having half the effect it would previously - the other half of the vertex location will be a result of the base mesh vertex location (including the shape key).