Funziona perché questa è la nuova forma per accedere alle variabili predefinite:
$_SERVER (nel tuo caso specifico) più il nome della variabile predefinita (le puoi vedere con <?php phpinfo(32); ?>) scritto così: $_SERVER['REMOTE_ADDR'];

Questo perché dopo il rilascio della versione 4.2.0 di php, la direttiva register_globals (nel file php.ini) è settata su off. Quindi significa che le variabili relative a cookie, moduli e server non vengono più registrate come variabili globali.

Di conseguenza gli script realizzati prima della versione 4.2.0 non funzioneranno correttamente se non scritti nella nuova forma di accesso alle variabili predefinite, oppure se non si imposta su on la direttiva register_globals nel php.ini