Ti ringrazio...
per il punto1 nessu problema...verifico le credenziali tramite autenticazione session/mysql

punto2.
Ma quindi in realtà non posso verificare in nessun modo il completo download del file ??!! Avevo gia pensato all'uso di fopen fread e fwrite sul buffer di output per inviare tutto il file all'utente. Non avevo pensato all'utilizzo di flush() per aggirare la bufferizzazione.
Tuttavia quindi, trovandomi su tcp, che esegue bufferizzazione e temporizzazione autonomamente non posso assicurarmi dell'avvenuto download con successo del file.

Forse la reale soluzione è quella del webserverHttp anche se immagino sia una realizzazione abbastanza complessa. Per quanto riguarda eventuali moduli di apache dovrò documentarmi...
ti ringrazio ancora per la risposta, se qualcuno ha sotto mano qualche risorsa inerente al problema, la posti qui...