Hi Moshe,
Change this:
Response.ContentType = "text/csv"
To this:
Response.ContentType = "application/x-msdownload"
This is the only way to consistently "force" a download in IE. Otherwise
the contenttype header MUST match a registry key for an application that
supports that specific content-type AND have shell permissions to be
invoked in that manner. If not, it'll either be interpreted as text
(which is just downright rude for HTML and EXE files) or it'll "bounce"
(an error will usually appear with the garbage message you're seeing).
You can check the useragent header for IE and only send this contenttype
header if the UA is IE if you prefer, but since all other browsers
support this value, too, as an automatic download there really isn't a
reason to do all that.
-Shawn