@dc42:
RepRapFirmware was written originally for 3D printing applications, so we are still learning about how CNC controllers are expected to behave. Are you saying that the F parameter should only apply to G1 moves, and G0 moves should always execute at the machine limits set in M203?
Yes typically G0 commands run at the CNC machine max feed rates. There is usually a switch that lets you choose to run at 100% (max) 50%, 25%, and the linear feed rate which is then controlled by the feed overide switch to drop the feed rate even slower.
I can see the issue when using the Duet for a CNC mill because almost all cam systems use G0 (rapid moves) when not actually machining to shorten run times. For example when drilling holes, you jump from say one hole to another you want the move as fast as possible.
Slicer software uses G1's set to yourt "travel" feed rate so the moves between printed parts is fast.
You just have to manually change the G0's to G1's.