Well, t3d pretty much gave you the practical solution. Others gave you real good clues to what actually happened and they did a pretty good job since you did not give a lot of indications to go with: likely you couldn’t as it appears that you never experienced anything like this problem in Blender.
Let me try to summarize, but bear in mind that, as did others, have to guess quite a bit.
1- you modeled different parts
2- somehow you also gave to them some materials
3- then you joined the parts
First thing for you to know: when joining parts, Blender won’t discard the original materials but will change them into multi materials. BTW the limit is 16 for a given object. Imagine that you modeled a hat, tie, shirt, pants, socks and shoes plus a fellow to wear them. If, for some practical purpose, like making it easier to animate with an armature, you decide to join all those objects I bet that you would be very disappointed if each object lost its appearance.
The last material that you UVmapped show good in the 3D view because the 3D view does not show you the materials, just the uvmapped images. Since you had up to 9 materials, your uvmapping job applied to just one of them and those parts with other materials still didn’t show your uvmapped texture.
But since you don’t want this behavior either make sure that you don’t have any materials attached to any part prior to joining them (Slink’s suggestion) or unlink every material before mapping the one you want to the object (t3d’s suggestion).
BTW please understand too that this was a fairly easy question, very ‘intermediary user’ and that you had received good answers. I think that there were just a few elements missing to make it all come together.
Relax, have fun. Good for you that you persisted.