I have made one change (and updated the Wiki) to the GPUAnimated3D constructor:
public GPUAnimated3D(Animated3D object) {
super(object);
setSkeletonPose(new SkeletonPose(getSkeleton()));
BonesNamespaceUtils.setSkinAttributes(this);
setRenderHook(this);
}
I have added "setSkeletonPose(new SkeletonPose(getSkeleton()));". I am now setting a new instance of the SkeletonPose on creation. It was referencing / reusing the same Skeletal Pose object, and therefore all clones were animating the same. Now each GPUAnimated3D will animate independently of one another.