Q1 - Sua senha do MySQL e outras configurações específicas do aplicativo devem ser armazenadas em um arquivo separado fora do seu webroot. Você pode tirá-lo diretamente do webroot ou restringi-lo via .htaccess. Você pode incluir o arquivo ou lê-lo desde que conheça o caminho.
Q2 - Os binários também devem ser armazenados fora do webroot. A maneira ideal de servi-los seria tê-los para download através de um arquivo PHP. Dessa forma, você pode fazer a autenticação antes que o arquivo seja servido e pode tornar os links temporários para que os usuários não possam compartilhá-lo com outras pessoas
Q3 - Se você usar o método acima, não precisa armazená-lo como um BLOB no MySQL
Q4 - Eu realmente não encontrei nada que faça e seja uma biblioteca/script autônomo. Servi-los através dos cabeçalhos corretos não deve ser muito difícil.