<p>I'm using a Response.Redirect to redirect users to another server to download a file, and the other server is checking the header to ensure it came from the correct server... however it seems Response.Redirect strips the headers from the Response.</p>

<p>Does anybody know how i can add the headers back?  I've tried:</p>

<pre><code>Response.AddHeader("Referer", "www.domain.com");
</code></pre>

<p>But the receiving page tests false when i check if the Referrer header is set.  </p>

<p>Any suggestions how i can get this working, other than displaying a button for the user to click on (i'd like to keep the url hidden from the user as much as possible).</p>

I don't think it's possible.  What you are sending back to the client is a Location header that tells the client to load the page referred to instead of the page it originally requested.  In this case the client is not coming from a link and thus does not set the referrer header.  It's basically as if the user typed the redirect url in the location bar in his browser.
You may be able to save the referrer in the session, or encode it in the URL as a query parameter.  Like the Forms login does with ReturnUrl.