You'll need to update the weapon position each frame, put this in something like a GLCadencer OnProgress event:

Weapon.Matrix:=GLActor1.Skeleton.BoneByID(THE_BONE _ID).GlobalMatrix;

IIRC, the weapon needs to be a child of the actor (could be wrong on that one). THE_BONE_ID is the ID of the hand I would guess.

Good luck,
Stuart.