Thank you for taking the time to investigate this so thoroughly kevin_intel, it's appreciated.
Sadly, none of the suggestions apply to the original issue - all shader values are correct and initialised, as is the vertex attribute array. VBO's are not used.
I think the tutorial has probably sidetracked the issue instead of helping as I'd hoped. Although I actually do get the 'loss of diffuse' on HD5000 as well the tutorial, the primary problem is that with tangents being supplied by enabling vertex attribute arrays using glEnableVertexAttribArrayARB(...) the geometry just collapses on HD5000 only.
Here is what happens when enabling the tangents array using glEnableVertexAttribArrayARB(0)...
So there, it's actually placing all the vertices in the geometry onto the surface of a unit sphere of radius 1.0f
Now, with the exact same rendering code and shaders - but removing all calls to glEnableVertexAttribArrayARB(...)
The geometry is no longer affected - however, the same shaders no longer have the tangent space normals they need to provide normal mapping.