O arquivo de soquete é uma maneira de os processos se comunicarem com o servidor em execução. Quando o servidor está morto, não há necessidade do soquete. Como você disse, ele teria sido removido se o servidor tivesse a chance de ser encerrado normalmente. O MySQL falha ao iniciar se o socket já estiver lá; daí a mensagem de erro. Removendo-o, quando um servidor não está funcionando, está bem.
Edite /etc/init.d/mysql
e encontre a linha:
start(){
Insira o seguinte abaixo:
if [ -S /var/lib/mysql/mysql.sock ] ; then
rm /var/lib/mysql/mysql.sock
fi
Para que pareça o seguinte:
start(){
if [ -S /var/lib/mysql/mysql.sock ] ; then
rm /var/lib/mysql/mysql.sock
fi