(1) Go to line 36. You should see this:
when 0 # Back to title
$scene = Scene_Title.new
Graphics.fadeout(120)
Change it to:
when 0 # Back to title
Sound.play_decision
$scene = Scene_Title.new
Graphics.fadeout(120)
(2) I don't think that's an issue with this script as all this script does is call the default Scene_File for loading saves. By default, the way that works is that when a file is saved, it will take the bgm that is currently playing (or the last one) and save it to the file. Then, continuing will load that old BGM and play it.
So it might be a problem with a save script or even with how you access the save scene if it changes the music before going into it, etc.. I don't see how this script would effect that error though.
For the last part, again, where this script simply calls Scene_File to do its work, any script that would generally create a confirmation dialog will work.
I recommend
Zeriab's Dialog System. The example dialog he provides is exactly a confirmation dialog, though the sample implementation is only for saving over files, not when loading them.
But basically, you could copy the Dialog System script and add it into its own slot above Main and below Materials.
Then copy the Dialog_YesNo script he has there and put it in its own slot above Main but below the Dialog System script.
Then, instead of the sample implementation he has, paste the following code into its own slot, again above Main and below Materials:
class Scene_File < Scene_Base
alias scene_file_dialog_determine_savefile determine_savefile
#--------------------------------------------------------------------------
# * Determine savefile
#--------------------------------------------------------------------------
def determine_savefile
if @savefile_windows[@index].file_exist
txt = @saving ? "Do you want to overwrite the old savegame?" :
"Are you sure you want to load that file?"
var = Dialog_YesNo.show(false, txt)
unless var
Sound.play_cancel
return
end
end
scene_file_dialog_determine_savefile
end
end
Basically, it is the same as Zeriab's code. The only change I made was so that it would also ask for confirmation when loading a file, not just when overwriting a file.
Mind you, it will only give the Dialog when saving if you are overwriting a file that already exists. Otherwise, no.