@RoyMackay Can you check what version of RepRapFirmware you are using? Please send M115 and post the response.
; Disable all heaters
M140 H-1 : Disable the bed heater
M307 H1 A-1 C-1 D-1 ; Disable Heater 2 (Hotend)
M307 H1 A-1 C-1 D-1 ; Disable Heater 2 (Chamber)
Assuming you're using RRF 3.x, the above commands are not necessary. No heaters are defined by default, so there's nothing to disable.
; Lasers
M563 P0 S"Laser"
M452 C"duex.pwm5" R255 F5000
M42 P"duex.pwm5" S1
This isn't quite right. The M563 and M452 are fine, but the M42 won't do anything, other than report an error. You can check for errors in your config.g by sending M98 P"config.g". If you want to test the duex.pwm5 (or whichever one you are using), delete the M42 from your config.g, and comment out (with a ; at the beginning of the line) the M452, then reboot.
In the console, enter the following:
M950 P0 C"duex.pwm5" ; assign GPIO port 0 to heater3 on expansion connector, servo mode
M42 P0 S1
This should turn on the Duex PWM5 output to 5V. Measure between the E6_PWM pin and GND.
Ian