When writing scripts for distribution, I would usually "null" out the following deprecated superglobals so that users who uses the script will not be able to use them.
<?php
$HTTP_GET_VARS = null;
$HTTP_POST_VARS = null;
$HTTP_COOKIE_VARS = null;
$HTTP_POST_FILES = null;
$HTTP_SERVER_VARS = null;
?>
However, when using ob_start('ob_gzhandler'), one of those superglobals somehow disable this function.
Found out that it was $HTTP_SERVER_VARS that's causing the problems.
<?php
ob_start('ob_gzhandler');
$HTTP_GET_VARS = null;
$HTTP_POST_VARS = null;
$HTTP_COOKIE_VARS = null;
$HTTP_POST_FILES = null;
?>
I don't know why it does that, but I just want to point that out.