I've been having the same problem with lots of consecutive M3/M5 commands not being queued properly. I'm trying to do raster engraving with a lot of fast switching so I'm frequently running over the buffer limit of 8 M-commands. I've been using G4 P1 at the end of each line to clear the buffer as a workaround but it's not very reliable.
Switching to a G1 parameter to control laser power would be ideal! Personally, I don't mind if it's S or L. Replacing the parameter in the gcode file is a matter of seconds in any text editor. Any estimate when this might be implemented? Or for the time being, is there an easy way to increase the buffer size for M-codes?