Tout d'abord, d'après ce que je comprend, il y'a quelques jours encore, tu utilisais php 4.3.10 pour tes développements. Or php 4.3.10 date de décembre 2004 : cette version de PHP a presque 6 ans, elle n'est plus du tout d'actualité, et utiliser cette version ne peut se justifier que par de grosses contraintes.
D'une manière général, il vaut mieux avoir un environnement de développement identique à celui de production (version des logiciels / configurations des logiciels) : cela t'évite les mauvaises surprises de ce genre.
Sinon HTTP_POST_VARS n'existe plus, et ce n'est pas un mal. Cette variable date de PHP 3, et depuis PHP 4, on doit utiliser $_POST à la place (qui est une super globale). Mais comme tu le fais remarquer, HTTP_POST_VARS fonctionnait encore sous PHP 4. Mais ce n'est pas parce que cela fonctionnait qu'il s'agissait de la meilleure façon de faire.
Je t'encourage vivement à modifier tous tes scripts.
Dans mes souvenirs, HTTP_POST_VARS s'active grâce à la directive register_long_arrays dans le php.ini, mais n'ayant jamais joué avec PHP 5.3, je ne garantis pas son existence.
Pour session_is_registered, c'est pareil, cette fonction est deprecated et n'existera plus dans PHP 6, donc encore une fois, je t'encourage à modifier tes scripts en conséquence (en utilisant le tableau $_SESSION), sinon, tu rencontreras encore des problème lors du passage à PHP 6.
Pour retirer le warning, un simple @ devant le nom de la fonction devrait le camoufler.
J'ai cru lire quelque part que l'on pouvait "surpasser" les directives de php.ini en mettant des instructions dans les scripts
Oui, c'est faisable via la fonction
ini_set.