Ho usato questo metodo per forzare il download di files. Con IE e Opera funziona:
codice:
<% 
   Response.Buffer = True 
   Dim objXMLHTTP, StrURL, StrNome 
   
   StrURL = request.querystring("file")
   splitto = split(StrURL, "/")
   StrNome = splitto(Ubound(splitto))

    Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP") 
   'Utilizziamo la versione 3 che non ha problemi di performance 
   'per la 2 usare Microsoft.XMLHTTP 
   
   objXMLHTTP.Open "GET", StrURL, False 
   ' Richiama il file 
   objXMLHTTP.Send 
   
   ' Aggiunge un header per far scaricare il file 
   Response.AddHeader "Content-Disposition", "attachment;filename=" & StrNome 
   
   ' Imposta il content su octet-stream, forzando l'apertura fuori dal browser 
   Response.ContentType = application/octet-stream
   
   ' Manda il contenuto con BinaryWrite 
   Response.BinaryWrite objXMLHTTP.responseBody 
   Set xml = Nothing 
%>
Però con Firefox, Netscape e Mozilla succede che il nome del file salavato viene troncato alla prima parola e, cosa ancor più grave, perde l'estensione: per aprirlo Win chiede il programma da utilizzare... Se lo scelgo, il file si apre correttamente, ma un utente poco esperto potrebbe ignorare la cosa e perdersi...
Ho provato anche a mettere al posto di application/octet-stream il mime type che si presenta di volta in volta. Sembra migliorare perchè nella finestra di download Firefox riconosce che è un file pdf, ma lo salva esattamente come prima...

Non avete una soluzione crossbrowser?