Tente usar Ctrl-[ em vez de Esc .
Qual é o resultado de:
python -c "print ord(raw_input('char '))"
quando você pressiona Esc e Enter ? Deve ser "27". Qual é o resultado de pressionar Ctrl-V then Esc ?
Você verificou todas as configurações no PuTTY para ver se elas são razoáveis?
Você está usando o Bash no sistema remoto? Olhe para a saída de
bind -p | grep -i '\e' | less
e veja se você vê algo incomum. Você tem um arquivo chamado ~/.inputrc ? Olhe para o seu conteúdo para ver se algo é incomum.
Veja o seu ~/.vimrc e veja se tudo está bem também.