No, with ```disabled``` you neither have to edit the file nor recompile. The function pointer is still available in the unittester, ```disabled``` is just a hint. You can still decide to ignore that hint and run the test.
But the most important reason for disabled is this: If you disabled tests in e.g. phobos, with ```version(none)```, how do you find these tests? Of course it's possible to add some ```//unittest disabled``` comment/convention for every test, but I think it's bad to rely on coding conventions for such stuff.
With ```disabled``` you can simply loop over all tests in all modules and then use the ```file``` and ```line``` properties to find all disabled tests. You can also print standardized output for disabled tests in a normal test run.