Method #1 is preferred, absolutely.
It may be impractical, but if your editor will search/replace, it shouldn't take forever. Replace $foo with $_SUPER['foo'] when SUPER is the name of the desired superglobal array.
Johan, the global array (that we have when register_globals=1) was broken up into superglobals ($GET, $POST, $SESSION, $COOKIE, etc.) to control access to those variables. (Yes, technically those arrays were already there.) The reason, of course, is to make it harder to do "variable poisoning" attacks, where an attacker guesses (or reads from source) the names of your variables (especially session or hidden vars) and inserts them into the URL. With register_globals ON, a variable in the URL string would override other variables. With PHP being increasingly used for important things like e-commerce, I assume that the 'powers that be' thought it would be better to close that barn door.....
In the case above, $Submit is likely the culprit:
$Submit=$_POST['Submit'];
if (empty($Submit)) {
or, better, perhaps:
if(!($_POST['Submit'])) {