I think I know why that's happening. The applications are opening the stream, which isn't the type they're expecting. Adobe Acrobat might be expecting application/pdf but is getting an octet stream.

What you need to do is to look at the extension of the file and appropriately change the Response.ContentType value. I'm assuming you already know the ContentTypes you should be using.