Nothing jumps out at me looking at this code. The G4 dwell commands are not something I see from other CAM codes, so you might try as a test removing them to see if it makes any difference.
In order to debug this problem, I suggest starting by running the g-code you can download from the first post in this topic. It uses inline commands, not M3/M5, but as far as I know, it has never failed to work or a laser and V1 firmware that is set up correctly.
If the above code works, I would next cut down your test example to a simple trace of a square at half power. This will give you a simple example you can use to try and debug the problem. Post back with your results, and I might come up with some next steps.