This is perhaps not easy to understand but look at it one line at a time…
M3 S0
G01 X0 Y0 F1000
M10P3 S0
G01 X0 Y0
M11P3 S50 F3000
The line G01 X0 Y0 F1000 will move the X and Y axes to zero (if they are not there already).
The line M10P3 S0 will do nothing.
The line G01 X0 Y0 will do nothing – the axes are already at X0 Y0 so the M10P3 will not be acted upon. Remember…
Your M10P3 and M11P3 commands will only come into effect when followed by an axis (any axis) movement and no movement occurred.
The line M11P3 S50 F3000 will mean the laser will be turned on at the next (actual) axis movement and what if that is a G01 positional move ?
Ideally, you need to modify your Fusion360 Post Processor so that it creates Gcode where your laser is turned on by M11P3 prior to every feed-rate move (G01, G02, G03, etc.) and turned off with M10P3 prior to every rapid move (G00). Adding a header and a footer to existing Gcode may work in some cases but I doubt it will be of any use in the long term.
Tweakie.