Hi fruitmans,
I've had this situation with MCUXpresso (as well as CodeWarrior) and there are a couple of things you can check. You don't mention the programm/debugger that you are using, what are the circumstances and my experiences are Kinetis based but I would expect that the debug processes are very similar, if not identical.
Are you sure that the debugger has stopped from a previous debugging session instance? I found situations where both stop buttons in MCUXpresso were not both disabled (greyed out) after the previous debug session and when I tried a new debug session I got one similar to what you're getting - it seems like the indications that the programming operation occurred normally is not accurate which confuses the situation. By clicking on the "Terminate All Debug Sessions" button the debugger is reset and you can restart debugging. This is the easy case.
Next, if that doesn't work, open up Windows Task Manager (Ctril-Alt-Delete) and select "DE.exe" in "Processes and click "Exit Process" (Windows 7) or "End Task": (Windows 10). In this case, when you ended the last debugging session the GDB task didn't end. It may not end and you have to exit out of MCUXpresso at which point it may end automatically or you have to try again to end it with Task Manager.
The worst case is that DE.exe will not end, requiring you to shut down the PC and start it back up before the debugger will work again.
I work with Segger JLink Plus, P&E Multilink Universal and OpenSDA and I have seen these problems in all these programmers BUT I should point out that generally when there is a problem it's because something extraordinary happened, ranging from pulling the USB cable from the programmer/debugger while debugging was still active or shorting something on the processor with a 'scope probe or (referencing a previous question from today) passing EZ_CS_b to an input or driver with while using the JTAG programmer/debuggers listed above.
I put in this final caveat here because generally MCUXpresso is very reliable and you generally have to do something electrical and/or stupid to get it into a state where it refuses to restart a debugging session. If you're not doing any of the things that I'm listing then you should be looking at your circuit for something that would cause the programmer/debugger to lock up.
Sorry, re-reading your question and one more thing I've discovered - if you're good with your laptop, what kind of USB cable are you using between the systems? I've found that with my (Linux) desktop it won't work with a USB cable longer than 5' (1.5m) but I have three laptops (Lenovo - Windows 10, Acer Windows 7 and HP Ubuntu 18.04) that work with 10' (3m) USB cables. This is with my JLink Plus and OpenSDA (I haven't experimented with the Multilink Unversal). I have no idea of what the (electrical) differences are between the laptops and the desktop, especially since the laptops are somewhat decrepit and the desktop is a fairly new and Xeon system/motherboard. It probably sounds crazy, but try a shorter USB cable (3' or 1m or shorter) on your desktop.
Good luck,
myke