Why did you do this? Why not just execute it?
schedule(0,0,exec,"Add-ons/Brick_2dMusic/Support_CustomRangeMusic.cs");
So that the Support_CustomRangeMusic.cs from Short/Long Range Music bricks, the 10x range, and any other add-on containing that script don't override the changes made in this one.
Basically when all the add-ons are being executed, it's all coming from one command. When I throw the 0 ms schedule on it, it waits until the entire execution is done. Therefore that script isn't being executed till all add-ons are done loading.