The DC-9 uses a striker system to fire, pulling the trigger lets the spring loaded firing pin slam fully forward, setting off the primer. It stays forward and extended past the breechface until re-cocked, which explains why the laser is staying on. Unless the switch in the laser is more powerful than the striker spring, this would be normal operation.
The fire control group is pretty simple, the trigger pulls down a sear which releases the striker assembly. As the bolt recoils, it hits the disconnector, which is a spring loaded sheetmetal part attached to the trigger and pulls the sear down because a notch in it fits over the sear. When hit by the bolt, however, the disco moves and releases the sear, allowing it to catch the striker and hold it back until the trigger is released to reset itself.
Testing the disco function is easy. Cock the empty weapon, pull the trigger and you should hear the striker click forward. Still holding the trigger back fully, cycle the bolt. The striker should now be held back until the trigger is released, and pulled again after it resets. This time you should hear the striker click forward again. If not, it is likely already forward and explains the slam firing.
Several things can cause this, first thing I would check for since it does it consistently and from your first firing of it would be someone tried or succeeded in converting it to full auto. Back in the day when it was legal to do so the most common method was to convert it to open bolt operation. Easy check, when cocked does the bolt stay back and then drop forward when the trigger is pulled? Hand cycling with the trigger pulled, does it move forward freely until the trigger is released, again staying back? If so, FA conversion.
Second thing could be the disconnector is not functioning properly. Check the top of it to make sure it hasn't been ground down or broken off, if it doesn't stick far enough into the path of the bolt it won't be hit by the bolt. Also make sure the surface of the bolt that hits it isn't broken, worn, or modified to miss the disconnector. In theory at least, a firing pin staying forward during cycling should jam the gun up instead of firing, but wear or a lucky coming together of tolerances could make it go FA instead.
Another possibility is the sear engagement with the striker assembly is poor and the slamming of the bolt against the front of the gun is knocking it out of engagement. There should be strong spring pressure pushing the sear upward, and inspect the mating surfaces to check for wear and damage. How much distance the trigger travels is an indication of engagement depth, once the initial takeup is gone you can feel the trigger pulling against something solid, how far does it have to move to fire? An extremely short "hair trigger" would indicate lack of proper engagement. Another way to check is to slowly let the bolt go forward with the trigger pulled. Release and pull again, if the striker clicks it worked properly. Repeat with letting it go for the full slam, if it didn't click this time you found your problem.