Hi Chris,
I'm thinking HOMING_ZXY is or should be Flashed into Thread #5 in KFLOP so it is there on power up. It contains the logic to do the homing.
K2_HOME.c just sets a flag to tell the K2 Driver? Program to run Thread #5. If you load/run K2_HOME.c in Thread #5 you will have overwritten and erased the HOMING_ZXY.c program. So the homing program will be lost until the next power cycle to reload it from Flash.
Try running K2_HOME.c in some other unused Thread. Maybe #3?
Regards