We've repeated this claim quite a bit off-forum but we don't actually know it's true, we're just assuming it is. Do we have any statistics backing it up?
I would consider it a misdesign for us to "camp" on Test.cancel() now and have it only cancel the current test case. How then do we indicate that the entire test should be cancelled. Or, put another way: "I called Test.cancel() but my test kept running. What gives?"
No it wouldn't. This issue would still exist and Test.cancel() will also behave this way on a detached task. The same callout is present on the documentation for Test.cancel().
I don't think I can do much with this feedback unless you'd like to propose some alternative name (or names) for the function. Did you have something specific in mind?