There are two practical ways to pass variables to batch files, either by parameters(%1, %2) or by environment variables(%PATH%, etc.), which is what you seem to be doing. In linux scripts and several programming languages(Perl, PHP), variables are referred to with the $ prefix. In batch files(.bat), variables are referred to by double percent signs and the dollar sign has a completely different meaning.
What's confusing is you're saying it's a DOS batch file. I don't know if you're confusing it for a linux shell script or a windows batch script, but what I know is that there is no MySQL for DOS. You said using dollar signs around MYSQL_PATH fixed the first problem, so why does that suddenly not work now?