É o register_globals, como eu suspeitava... Funciona no seu servidor porque o register_globals dele deve estar ativado. Mas o register_globals ligado pode gerar uma série de problemas que acabam levando à falta de segurança do seu site, facilitando a injeção de códigos e outros problemas. Então, faça o seguinte, cara: sempre que você for pegar o valor de uma variável que veio de um form que usa POST, não use $variavel, use $_POST['variavel'], se o form usar GET, use $_GET['variavel']. Isso deve fazer com que o seu código funcione em servidores com o register_globals ON e OFF...