Also, take a look at this post in generic cartesian kinematics thread:
I added a new command SET_STEPPER_KINEMATICS which can be used in custom homing procedures, as explained in the post. Perhaps you can use that for proper homing of your printer?
SET_STEPPER_KINEMATICS