Mine is running fine now and I have a fully functioning machine. I did look at best practice wiring and nearly bought a roll of 4 wire twisted pair shielded cable. I must say the DuetWifi is a huge step up from the Rumba board in my other printer.
Addendum, Okay, something has changed for the better - but I'm at a loss why this worked.
I'd also had a heater fault, and entered M562 P1 to reset it.
Doing that seems to have reset the motors though it shouldn't have any effect at all. Now, at least I can make changes with the M92 and they seem to have the right effect.
You could try using 8 factor calibration instead of 6 factor, then it will calibrate for bed tilt as well in firmware 1.16 and later. The snag is that it is hard to distinguish between bed tilt and misplaced towers. Using a lot of probe points helps, with some as far from the centre as possible.
M18 will wait until all queue moves are finished before it takes effect, so it's not much use here. I can't remember whether M906 and M913 also wait or not.
The other thing you might want to add to that macro (or another macro) is to redefine the bed size (axes minima and maxima) using M208. Just a thought….....
I can see the value of being able to use previous gcode files by supporting volumetric extrusion, so I'll add it to the work list. I need to work out how it interacts with colour mixing before I implement it. It also interacts with use of relative or absolute extruder coordinates.
EDIT: it also interacts with pause/restore, and extrusion commands in the web interface and PanelDue. There's a lot to think about. Does your slicer generate the M404 command itself?