Что ж, изучение мануалов и тесты дали о себе знать. Вот такой код заработал как нужно:
header("HTTP/1.1 200 OK");
header("Connection: close");
ob_start();
phpinfo();
$size = ob_get_length();
header("Content-Length: $size");
ob_flush();
sleep(2);
echo __FILE__."<br>";
с таким вот .htaccess:
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
Что нужно было?
1. В .htaccess нужно было оставить только лишь отключение gzip для php файлов, оказывается - он все-таки был включен и это влияет на то, какими порциями веб-сервер будет отдавать контент, не смотря на мой код.
2. Была найдена разница в конфигах серверов, переменная output_buffering на сервере, который обрабатывал код так, не как ожидалось, эта переменная имеет значение no value (на "правильном" сервере это значение установлено в 4096).
Возможно, в итоге размер буфера берется откуда-то еще и в итоге страницы, на которых я пытался выводить сначала какую-то одинокую строчку, просто не отдавались из буфера на вывод. Как только я увеличил объем страницы, сделав php_info(), все встало на свои места. Вердикт - надо либо отдавать страницу большего размера (костыль), либо изменить настройки работы с буфером таким образом, чтобы функция ob_flush() гарантированно производила отправку содержимого буфера клиенту.