SOLVED!!
It's amazing what a nights sleep does as I just figured out the problem and of course it's a stupid one!
I had not yet hooked up the A axis homing switch which will be used for squaring, but I had left the A axis limit/ homing enabled in Mach 3 and had also not yet turned of limit/ homing slave with Master under the general settings which you have to do for squaring. So when I hit "Ref All" it was homing Z, X and Y but then continuing to look for A which never activated and therefore it really never finished homing and therefore the limit switches don't work.
Now the reason I did not spot this is because the A is slaved to Y, there is no DRO movement shown for A while it is homing which if there was I would have spotted it was still moving. The reason I figured it out today was that I ref/homed each axis at a time and tested that after each axis (XYZ) had homed the limit switches still worked, which they did, then I homed A and of course it never finished homing as the switch is not yet connected (it is on a separate pin to the rest) and after that the limit did not function.
As soon as I disabled the limit/homing of A in Ports & Pins I could then do a "Ref All" and the limit switches afterwards still triggered and limit reached event.
Today's task - wire up the A axis switches
Thanks for all the help efforts and as is the case in most instances it was a stupid (user) error!
David