Tangent.w is correct, and normal mapping works obviously with other people's shaders. A bad looking shader, as in your image, could be the result of a wrong built tangent matrix. A similar problem can be caused by using bones matrices in combination with non-uniform scaling. It can be even a wrong normal map. We had all those cases.

Correct normal mapping is indeed a little tricky due to just this problem. Check out the shader workshop, chapter 4. You can also use one of our standard normal mapping shaders as a template.