I tried your model but as it is 3ds it will not load into DB Pro to try. I made a quick object myself and did a test for the limbs to see if I could get the same result.
set display mode 1024,768,32,1
sync on
load object "test.x",1
position camera 0,800,-240
point camera object position x(1),object position y(1),object position z(1)
`scale object 1,1000,1000,1000 ` rem this line in to see the code work more precisely
do
inc yrot#,.1
rotate limb 1,1,0,yrot#,0
xcheck=limb position x(1,2)
ycheck=limb position y(1,2)
zcheck=limb position z(1,2)
xcheck2=limb position x(1,1)
ycheck2=limb position y(1,1)
zcheck2=limb position z(1,1)
text 0,0,"limb X "+str$(xcheck)
text 0,10,"limb Y "+str$(ycheck)
text 0,20,"limb Z "+str$(zcheck)
text 0,30,"object X "+str$(xcheck2)
text 0,40,"object Y "+str$(ycheck2)
text 0,50,"object Z "+str$(zcheck2)
position object 1,x#,y#,z#
if leftkey()=1
dec x#,.1
endif
if rightkey()=1
inc x#,.1
endif
if upkey()=1
inc z#,.1
endif
if downkey()=1
dec z#,.1
endif
sync
loop
It could be a scale issue, at least that is what I can gather from this little test. At first my object and limb positions were the same. Increase the scale and they begin to change. Hopefully scaling up the object will correct your problem. Chafari, I have just noticed, already mentioned this, so we are probably on the right lines.
http://s6.bitefight.org/c.php?uid=103081