What do you mean with uninitializing the second script?
Most of the times, there's no need to use MsgPlus.LoadScriptFile() for such simple tasks. You can make a function in the second script which starts everything it should do, and make another function which wipes out everything when it's done. Then, your first script controls when it should call those functions. It really doesn't matter if those functions are loaded on script start-up, as long as they aren't called yet.
I don't see why you'd have to start and stop the script that way, do you really have such complex things in the global scope of your second script which can't be started from a simple function?
(And no, you can't unload a loaded script file.)