I have used a laser engraver for quite some time and i could say is the best. Laser engraving is a non-contact method hence minimizing the wear and tear on the tools. It is also very fast and creates clean mark.
I am using a Mk1 controller from buildyourowncnc.com. How do should i set up the G-code such that it follows the correct procedure and Zeros the Z height automatically before cutting each new part when a program is running?