Changing the Origin of a Configurable Joint

I am using a Configurable Joint to keep a character from straying on its Z axis. The problem that I am having is that at certain points, I want to change the character to a different point on its Z axis. I tried turning off the limit on the z axis:

zMotion = ConfigurableJointMotion.Free;

and then turning it back on again after I had moved the character to its new point on the z axis. But as soon as I reset the motion to “Limited” the character pops back to its old point on the z axis.
Is there a way to change the origin of the z axis through scripting so that the character will move strictly along whatever z axis point I define?

Is Configured In World Space checked or unchecked?

Checked. I tried unchecking it but came up with really bizarre behavior (the character bounces around the room instead of walking back and forth like it was before). Should it be unchecked for the Configurable Joint performance I want?