Se supone que deberías obtener el mismo valor en ambos arrays y hasta como global:
$userfile_name usando register_globals a ON
La versión que usas de PHP no está disponible la directiva:
register_long_arrays .. que por defecto vieen en PHP 5 a OFF y hace que no queden disponibles los arrays $HTTP_??_VARS (no son creados) para que de una vez por todas se usen los arrays superglobales: $_GET, $_POST .. etc
Las otras directivas como:
track_vars ya se vé que lo usas a ON ..por qué sino no podrías ni ver $_GET (usar los arrays supergloables) que por defecto viene PHP en todas sus versiones a ON desde PHP 4.0.3 en adelante.
El otro detalle es que pretendas acceder a $HTTP_POST_FILES desde una función .. ese tipo de arrays no son globales como lo son los $_FILES (los arrays "superglobales" que .. por eso se llaman así, por que el ambito de acceso no está restringido en un script ni en funciones .. no hay que declararlo como "global $HTTP_xxxx_xxxx" como sucede con ese tipo de arrays).
más info:
http://us2.php.net/manual/en/configu...directives.php
Un saludo,