okay I think I have got to the bottom of the problem.....crappy switches.
When a homing switch is triggered then the motor will back off until the switch clears, as was said earlier. You can test this by homing an axis and the pressing the switch manually. If you hold it in the motor will keep backing off until you let go. Because these switches are, cannot think of the right word, flicking off then the motor winds back until it flicks back. Trouble with these switches is that they start to lift off the connection before they fully flick off. Therefore the circuit is broken and the motor only goes back a very small amount to make the switch. This means that the switch is resting on the gantry and any vibration at all will lift it off and so the next homing is reset early. Thats why when I backed off the offending axis the rest homed perfectly. This also explains why one switch, which must flick as it breaks, allows the motors to rewind a small amount before it flicks back.

Hope this makes sense to anyone else and serves as a warning on cheap switches.

All of this is what I think Russell indicated when mentioning hysteresis of the switch. I had to look that up

Bruce

Now I have to investigate why when I home the x axis the b axis which is slaved to it does not operate. So near and yet so far....