OK. So we now need to start questioning assumptions.
First of all, this is the same web browser (PC), for both tests. Right ? "Yes"
I was just reading up on "Content-Disposition" RFC (note the casing). Theoretically, the Response.Clear*() stuff in your code should be clearing the responses, but have you checked ?. See RFC2616, which specifically talks about this header extension. Also note
that the RFC states that the filename param should be quoted. "Interesting, I will try putting quotes around the file name."
[Rahul's blog]. He has some other less verbose methods of do stuff like this. Also, there's one person there complaining about this type of thing not working from a code-behind - obviously, there has to be some per-page property or setting causing issues
(viewstate?). "I have read Rahul's stuff previously and unfortunately we have to support Adobe Reader 5.0, which does not qualify for his examples. I am going to try inline script instead of code behind. Maybe that will trick it into working."
PS: I'm not a dotNET developer, so I probably shouldn't be putting my bib in, here. Although I think I'm at the bottom of my suggestions barrel.
"I appreciate you taking the time"
Are both servers running the same environment? "There is only one server, again it is two pages in the SAME application"
For example, 1.1 application on a 2.0 server doesn't run entirely the same as a 1.1 application on a 1.1 server. "It is .NET 2.0, clean install"
At least- this is what I have noticed.
It may be worth trying a different method (or debugging out some simple stuff like jpegs) to see if you can pinpoint the anomaly. "I will try both pages with a JPEG and see what happens."