Используйте Fiddler , чтобы проверить, что на самом деле отправлено. Я предполагаю, что вы получаете чанкованное кодирование в результате установки буфера на false на сервере IIS7.
Кстати, отбросьте Response.End вызывать это довольно травмирующее действие, и оно не нужно (впрочем, и вызов Clear).
Редактировать
Строго говоря, при потоковой передаче контента с кусочным кодированием (что желательно в вашем сценарии) заголовок Content-Length не должен присутствовать (см. RFC2616, раздел 4.4 .) Мне кажется, что IIS7 использует Сам, чтобы обеспечить это. Фактически у меня был сценарий Classic-ASP, в котором IIS7 выдает ошибку, когда COM-код пытается добавить заголовок Content-Length, когда буферизация отключена.
Это действительно раздражает, потому что, несмотря на то, что комитет в башнях из слоновой кости хотел бы, этот заголовок дает конечному пользователю очень полезную информацию.