Yes, its only a 0.1s wait and it needs going after every DRO update, i also padded it after every DRO read, plus the totally essential while-ismoving loop on ANY call that creates movement of an axis.

Doing this likely added 5s to the macro run time but thats no bother if its what it takes to make it work 100%

The soft limits thing i'm going to play with again - it seems very version dependant so now I have the timings sorted, ill try leaving it on and see what occurs. CSLABS said they had never heard of it BUT they always run v022 so that may be why.