OK. FINALMENTE ho capito. La mia password super stupida stava pasticciando con mysqldump perché conteneva una "&". Non è stato necessario modificare la password. Ho appena racchiuso la password tra parentesi:--password="'.$db_pass.'"
Ora funziona come previsto. Tante ore sprecate... @MarcB, grazie mille per il tuo aiuto. Non sapevo come restituire gli errori e questo è stato sicuramente il più grande ostacolo.