Nmap scans sometimes take a long time, and Nmap does not tolerate scan interruptions (maybe that should be its own issue!). Windows offers ways for applications to report that the system is "in use" and should not be suspended due to idle timeouts. Nmap should use those methods to avoid interruptions when possible.
Note that this should be done by Nmap itself and not Zenmap, since there's no reason Zenmap can't be suspended and resume just fine. Also, we should take care not to use any method that prevents the screen from locking, since Nmap does not require the display and screen locks are a security mechanism.
Reference: SetThreadExecutionState