The obvious problem here is that you might have dependencies that rely on "mymod.default.js", but if "mymod.custom.js" gets loaded instead those dependencies will break.
The solution to this is to provide a fake file in both "mymod.default.js" and "mymod.extend.js" and then use that for dependency checks:
Fake provide in mymod.default.js and mymod.extend.js
// use this if you want to check which settings were loaded...
Check.provide(self);
// use this for general dependency checks...
Check.provide({
file: "settings.loaded",
ver : self.ver
});