For the purposes of test sequencing as well as preventing a test being interrupted.
Also, is there any way to stop a module or test midway and reset QUnit (including all history results)?
QUnit.moduleDone was the only thing I tried for testing module complete. But it applies for every single test within the module, not just the module as a whole.
Are you sure about QUnit.moduleDone? For me it is called once at the end of the module; what you are describing sounds like QUnit.testDone.
As for stopping QUnit and resetting it, what would want the web page would look like afterwards?