If I remember correctly, G29 requires that all axis's be home'd first. Perhaps you could try a G28 when you first power on your printer, and then remove the G28 command from your start code. Your end code could then just set each axis to 0. In theory, this would work, as it's not a true G28 command, but I don't know if that would affect the matrix or not...just a thought.