1) A funzionare funzionano eccome ma sono deprecate e nelle release successive non saranno più supportate. Io ti consiglio di usare cmq $_POST, $_GET, ecc.
Ecco un semplice script per poter usare mq questi array, anche se non esistono di modo che tu possa rendere i tuoi script già compatibili con le versioni successive:

Codice PHP:
if (!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS)))
  {
     
$_GET = &$HTTP_GET_VARS;
     
$_POST = &$HTTP_POST_VARS;
     
$_SERVER = &$HTTP_SERVER_VARS;
     
$_ENV = &$HTTP_ENV_VARS;
     
$_COOKIE = &$HTTP_COOKIE_VARS;
     
$_FILES = &$HTTP_POST_FILES;
     
$_SESSION = &$HTTP_SESSION_VARS;
  } 
Questo sript ti permette di usare cmq i "nuovi" array.

Per ciò che riguarda l'array http_post_files hai ragione (sembra che ieri abbia detto un po' di scemenze!
Per ciò che riguarda http post :master: ).

Passiamo a trovare il tuo errore.
I notice ce li hai abilitati?
Non ti viene restituito alcun tipo di messaggio dal php?
Prova a fare print_r( $_POST ) e vedi che ti stampa.