A general tip - if the topic of your questions changes, it is better to start a new thread on the forum, rather than to keep appending to this thread. Specially now as your questions move more towards generic Mach4 operation questions than Xero3 specific questions. That said...
For writing macros, Mach4 uses a programming language called "Lua" for its macros. Search this forum and look in the :Mach4 Toolbox" sub-forum for samples.
How do you change the orientation of an axis? I'm not sure what you mean. Do you mean something like change the direction of the X axis to positive moves travel to the left instead of the right? Or do you mean something like make the Y axis move left & right, and the X axis move in and out?
Ref All Home **should** start homing the machine. But there are a couple of things that need to be configured before this will work. But that shouldn't cause the machine to stop working. What exactly does "stop working" mean? When this happens, do you see any error messages in the status line? The status line is down near the bottom of the Mach4 screen - though you may need to click on the "History" button to see all of the messages. If you exit Mach4 and re-start it, can you then run the machine again? Or do you have to also unplug the PMDX SmartBOB also?
You need to have home switches defined for each axis (see Configure->Mach, then click on the "Input Signals" tab). You also need to set the homing order for each axis. See the Configure->Mach menu, then click on "Homing/SoftLimits" tab. Homing order values are non-zero (if you want the axis to "home"), with 1 being the first axis to home, and higher numbers following in order. You can assign the same value to multiple axes and Mach4 will attempt to home them at the same time. If the "Home in Place" column is enabled (a green check mark), Mach4 won't actually move that axis, it will simply declare that whatever the axis' current position is, THAT is home.
Bob