Nur $_POST ist superglobal. $HTTP_POST_VARS ist eine inhaltsgleiche, davon aber unabhängige Kopie, die NICHT superglobal ist, und die man vor allem dringend vermeiden sollte, da sie IIRC auf der Abschußliste steht und irgendwann komplett verschwinden wird.
recht hast du - kommt davon, wenn man überall global $HTTP_POST_VARS; hinschreibt
$HTTP_POST_VARS ist ab php5 ohnehin standardmäßig deaktiviert und ab php6 fliegts raus