Credo che si possano fare tutte le cose che hai chiesto, in modo indipendente.

Tutte assieme potresti avere problemi di temporizzazioni.

Anzitutto pero` bisogna limitare il discorso.
Per scaricare qualcosa dal server hai bisogno di scaricare una pagina intera (da <head> a </body> ).
Quindi se vuoi fare la cosa in maniera nascosta, devi usare una pagina invisibile (popup o frame). Questo e` contrario ai nuovi standard.

Se questi limiti non sono contrari al tuo modo di lavorare, si puo` procedere.
Facci sapere.