Enabling/Disabling still works if you restart the game because all the CoreAudio stuff is created and torn down with each game load/unload (see the changes in NativeApp.cpp).  If you are in the middle of a game, it should enable and disable because of the bEnableSound checks in __sceAudio.cpp.