Here's my attempt at making RefAllHome work "conventionally" i.e. home Z north and then home X and Y whilst still being able to use G28.1 to home south for IHS. This is as discussed in
http://www.machsupport.com/forum/index.php/topic,15058.0.htmlIt works for me but as we've seen elsewhere, that doesn't guarantee it'll work for you - VB - what can I say?

'This macro should replace the standard script in the refAllHome
'button. It homes Z north whilst allowing G28.1 To be used
'to home south for plasma IHS. It should ONLY be used if
'the A and B axis are NOT used in your setup.
'To use it, the A axis should be set identically to Z in
'ports n pins and motor tuning. A should also be setup as you
'want Z to behave in Config/Homing Limits. The B axis should be
'disabled in ports n pins. A and B should also be "non angular"
'in Config/General Config.
'CAUTION: If this macro is interrupted for any reason, you
'should check your ports n pins setup.
'home A
doButton(25)
While isMoving()
sleep 100
Wend
'select machine coords
doOEMButton(179)
While isMoving()
sleep 10
Wend
'set Z work offset to machine coord
setOEMDRO(802, getOEMDRO(802))
'dummy move Z to A
swapAxis(2,4)
While isMoving()
sleep 10
Wend
Code "G0 Z" & getOEMDRO(803)
While isMoving()
sleep 100
Wend
resetAxisSwap()
'home X and Y
doButton(23)
doButton(22)
Cheers
Ian