Hey Sil,
Sounds like a parenting issue. Make sure parent induced translation is applied to child sword correctly or just merge the meshes.
But if ya want here is a hack if the sword is tracking correctly but just translated off a bit. Change the text of .x file.
Find the FrameTransformMatrix for the sword (Should be near the top) like the following:
Frame sword{
FrameTransformMatrix {
0.470000,0.000000,0.000000,0.000000,
0.000000,0.470000,0.000000,0.000000,
0.000000,0.000000,0.234500,0.000000,
2.956900,-0.652600,-0.699700,1.000000;;
}
That bottom row is translation (Diagonal is scale), just change the matrix until sword back in hand for first frame and hope rest is right.
C ya.