Hello! I have an update for you..

I built a 140V linear DC supply with a beefy transformer, rectifier and smoothing cap. It drives the motor quite nicely with around 100 watts. This supply should have no high frequency spikes but interestingly it still interferes with the PC, and makes the keyboard stop working.

Sometimes the supply lead going to the motor can act as an aerial transmitting noise so I changed the cable to a shielded one and grounded the shield. This improved matters a little but I still had occasional problems.

I noticed that although the stepper drive leads are shielded, they were not connected to ground so obviously provide little protection from interference! I grounded each of the leads but to be honest didn't notice much change. The keyboard still stopped responding sometimes for a few seconds.

Finally, I bypassed the motor near its terminals with a 1uF poly capacitor. This seems to have done the trick and everything is reliable now :)

So for anyone with a chinese CNC3040 router I advise using a shielded lead to supply power to the motor, and bypassing the motor with a capacitor or snubber network. I can use a simple capacitor because I am using a linear supply, but note that if you have the standard one in the control box of the CNC3040 or other pulse width modulated supply you need to be vary careful not to blow it up like I did with a simple capacitor bypass! Apparently the capacitor and resistor 'snubber' network can be used but part values must be carefully chosen not to cause problems.