Unfortunately, while what you have done on the laptop is good and probably necessary if you want to use a laptop at all, the power management and similar features are sometimes a bit more subtle than that. Particularly with the types of processor chip used in laptops, power management is critical to getting good battery life, along with things like CPU temperature management because small cases mean poorer cooling, smaller fans, etc. This means that every so often, it is possible for the CPU to temporarily suspend normal operation while it is doing various internal system management and monitoring tasks, and then carry on as if nothing had happened. We are talking about tiny fractions of a second here, and nothing that you would notice as a user if you were doing normal laptop things - browsing, word processing, watching videos, or whatever. The issue with CNC operation is that the motion control software - Mach3 in your case - has to issue a stream of pulses out of the parallel port at very precise intervals. These intervals are also down in the tiny fractions of a second level. For example, a typical pulse rate for Mach3 might be 20KHz, twenty thousand pulse per second, which means a pulse every 50 microseconds. If the CPU says every so often, "Hang on a bit, I'm busy" for, say, a couple of hundred microseconds, a normal user wouldn't notice, but you've just lost 3 or 4 pulses, and that means jerky motion on the router and loss of position - the machine is now not where Mach3 expects it to be. That's why LinuxCNC, a common alternative to Mach3, comes with a test programme to measure this kind of internal system delay (not sure if Mach3 has an equivalent - it might). You don't get this kind of thing to anything like the same extent with desktop systems, which is why Mach3 say that they do not support their product on laptops. Even desktop machines vary, and the results aren't even linked directly to CPU or clock speed as even a fast system might have poor internal system timing performance. So, what I'm saying is that while what you've done is good, and the machine won't go to sleep or whatever while you're using it, the underlying problems are beyond your or anyone's control. This is also why a USB-parallel converter doesn't help as it destroys the pulse timing in the conversion process. They might be fine for undemanding devices like printers, but not real-time use for CNC machine control.

Good news, though, is that is why people use external motion controllers like the UC100. You still use Mach3 to do the user-level machine control, but it delegates all the background pulse generation and time-critical functions to the external device which is designed and built to ensure that you get a good clean well-timed pulse train. I think when I looked at it, the UC100 spec said that it could run at up to 100KHz which is 4-5 times faster than a typical PC could manage. It's also faster than you actually need in practical circumstances, but it does mean clean, well-timed, and guaranteed pulse delivery.

Be interesting to see how it works for you.