Why constraints ruins material set up?
The solution is to disconnect the normal input connected to the fresnel node.

The cause is the order that things get calculated. In your example the normal value is calculated to fulfil the material needs, then the constraint is applied and the result is sent to be rendered. Without the normal input, cycles uses the normals of the object during the render, which means the normals are calculated after the constraint is applied.