I have no idea about using axis as slaves - but reading your post, it would seem to me that perhaps the "home" input of the slave axis is not working properly. You say that your gantry will move to home, hit the switches - then you seem to say that one axis backs off and stops, but the other backs off, but carries on until the thing physically locks up. The keyboard etc is frozen until you hit reset.
It seems to me that the secong "pulse" on the second axis is not being detected. When homing, the switches are hit and go either positive or negative (depending on how you have it wired up), The direction of the motor is changed until your switch opens (or closes) again and gives the second signal to stop. It seems to me that the second signal (of the secod switch) is not getting to the computer. The computer is still waiting for the second signal, and therefore appears to be locked up.
If it is possible, I would run the gantry with each side alternatly free wheeling - remove the drive belt or something, so that the gantry can move, and the computer thinks all the electronics are fastened up. Then run the homing routine, and see if each side runs properly. I don't know how big a gantry you are talking about, and you might have to give it a gentle helping hand to keep straight, or whatever, but you sould see the basic movement at the switches.
Another possiblility has come to mind - I take it both switches home almost "together" time wise. I do not know whether you have these on the same circuit, or different circuits. As I understand Mach 3, the limit and home switches can be wired together. If "homing" is chosen, the system works as "homing" switches, until such time as the homing function is finished, and it then reverts to "limit" switches.
In your scenario - could the system be operating "home" switches together - until one switch completes the cycle, and then the other switch becomes a limit switch. This woulld normally stop the system - unles you have "Auto limit overide" selected, which will allow it to carry on and back off the switch, therefore locking up your gantry.
If this is the case, you could probably write at Vis basic macro, so that homing takes place, using the drives together (but only one switch), then after the first axis has finished, moving the other axis (using the A drive on its own) "home". This should work.