Eu acho que você está sendo muito paranóico. Mudanças de senha controladas pelo usuário permitem que os usuários selecionem senhas que acham memoráveis, alterem as senhas quando suspeitam que seu namorado / namorada / mãe esteja espionando, etc.
Não há motivo para um aplicativo de alteração de senha ser uma falha de segurança. Separar o inferno da interface do usuário e da lógica de back-end, talvez escrever uma ferramenta CLI simples para realizar a manipulação do banco de dados e chamá-lo a partir do aplicativo da web. Dessa forma, sua ferramenta CLI pode executar suas próprias verificações de integridade em cada solicitação recebida.
Alguns bancos de dados de usuários / senhas já possuem mecanismos de troca de senhas já testados e confiáveis, como a operação estendida de modificação de senha do OpenLDAP.
Sim, eu recomendo manter o webmail em um host diferente. Eu gerenciei vários sites de e-mail grandes ao longo dos anos e o único compromisso que tive foi quando falhei em manter o aplicativo de webmail atualizado. Aplicativos de webmail são grandes, complexos e freqüentemente não projetados com um olho na segurança.