That however doesnt address the underlying problem...
You are probably not passing in a correct tangent. This is likely because your material is not set up right--you need to have something like this:
material normalmap
{
flags=tangent;
....
}
then in your effect change the tangent input definition from
float3 Tangent : TANGENT;
to
float3 Tangent : TEXCOORD2;
also, the "vecLight" variable is NOT a light direction or position vector, it's a rgb color. You should use vecSunDir (which is a normnalized direction vector)