I didn’t quite understand what you wrote. If you email/post the shader code, we can help you better.

If you are normalmapping, you need the Tangent. Not only that, you need to take Tangent, Normal and Binormal into the World space where the Light/Camera is.

To take the thing to Tangent Space you need to to multiply the light vector by the Tangent/Binormal/Normal matrix (Row1 = Tangent etc…)

Psuedo Code would be like the following (This is not in any specific language format, just psuedo code)

Wrld_tangent = Tangent * WORLD_MATRIX

Wrld_normal = Normal * WORLD_MATRIX

Wrld_binormal = CrossProductOf(Wrld_tangent, Wrld_normal)

TangentSpaceMatrix = CreateMatrix(Wrld_tangent, Wrld_binormal, Wrld_normal)

tangentLightDir = lightDirection * TangentSpaceMatrix

//WORLD_MATRIX is the Trasformation matric for the object. From here on just use the tangentLightDir to calculate Lighting. Remember you have to convert Half-Angle vector into tangent space as well (if you are doing specular lighting)

->>>> The above code is knowledge base. It means that is the algorithm to to the tangentspace calcualtions (whether it is Lightmapping or something else you want to do in tangentspace)

Either way you need the Tangent to create the tangent space matrix. If you cannot get this, you can render it into an image and use the UV coordinate to get it from the image file. I am talking from the HLSL/Shader development point of view. I am not sure of the Mental Ray restrictions on this. Someone more experienced in the MentalRay area should be able to translate all the above into Mentalray without much effort.