Q1 - La tua password MySQL e altre impostazioni specifiche dell'applicazione devono essere archiviate in un file separato al di fuori della tua webroot. Puoi eliminarlo direttamente da webroot o limitarlo tramite .htaccess. Puoi includere il file o leggerlo se conosci il percorso.
Q2 - I file binari dovrebbero essere archiviati anche al di fuori del webroot. Il modo ideale per servirli sarebbe averli scaricabili tramite un file PHP. In questo modo puoi eseguire l'autenticazione prima che il file venga servito e puoi rendere temporanei i collegamenti in modo che gli utenti non possano condividerlo con altre persone
Q3 - Se si utilizza il metodo sopra, non è necessario archiviarlo come BLOB in MySQL
Q4 - Non mi sono imbattuto in nulla che faccia ed è una libreria/script autonomo. Servirli tramite le intestazioni corrette non dovrebbe essere troppo difficile.