OK, just checked something, the above assumption, that the point distance is being used as a multiplier, only works if the object starts at 0,0,0. If its anywhere else you get completely different numbers as in the following code:-
sync on
sync rate 0
make object cube 1,10
make object cube 2,10
position object 1,10,10,10
position object 2,10,10,10
x# = object position x(1)
y# = object position y(1)
z# = object position z(1)
rem objnum wire trans cull filter light fog ambient
set object 1,0,1,1,1,1,1
set object 2,0,1,1,1,1,1
point object 1,x#,y#+20,z#
move object 1,20
x1# = object position x(1)
y1# = object position y(1)
z1# = object position z(1)
position camera 0,50,-80
point camera 10,10,10
do
text 0,0, "X,Y,Z Start = " + str$(x#) + "," + str$(y#) + "," + str$(z#)
text 0,20, "X,Y,Z finish = " + str$(x1#) + "," + str$(y1#) + "," + str$(z1#)
center text object screen x(1),object screen y(1),"obj 1"
center text object screen x(2),object screen y(2),"obj 2"
sync
loop