Não, o comando 'mode' não "desaparece" e você ainda pode invocá-lo como 'mode.com'. O que acontece é que a versão do bash do Cygwin está anexando ".exe" a um nome possivelmente executável no prompt quando faz um loop na busca de arquivos nos diretórios PATH. No entanto, o clássico Windows cmd.exe anexa ".exe" e ".com" (".bat" e ".cmd" também) no mesmo processo.
C:\Windows\System32>where mode
C:\Windows\System32\mode.com
Para responder à segunda pergunta, procurei o caminho do cygwin para o mode.com do Windows:
$ which mode.com
/cygdrive/c/Windows/system32/mode.com
e obteve uma lista de executáveis * .com no mesmo diretório.
$ ls -l /cygdrive/c/Windows/system32/*.com
Ao observar os resultados, podemos dizer que pelo menos os seguintes comandos "desaparecem" no bash: chcp.com, diskcomp.com, diskcopy.com, format.com, mode.com, more.com, tree.com.
ATUALIZAÇÃO 2014-03-05 16:45 GMT + 0100 : Considerando que o CMD.EXE autocomplete todos os arquivos no PATH com uma extensão da lista PATHEXT, o bash autocomplete todos os arquivos no PATH, que são executáveis, independentemente da sua extensão.
Se eu digitar 'forma' e pressionar TAB, ele será automaticamente preenchido automaticamente para 'format.com'. No entanto, se eu digitar 'mode' e pressionar TAB uma vez, apenas um bipe será produzido; Se eu pressionar TAB mais uma vez, uma escolha entre 'mode.com' e 'modemui.dll' é apresentada. Depois de um pouco mais de testes, acho que há um bug com a conclusão do bash do Cygwin, que resulta em um bipe sendo produzido na primeira pressionada de TAB em vez de uma opção sendo impressa. Isso é independente da extensão.
Outra questão é que eu posso digitar 'notepad' ou 'notepad.exe' e o cygwin descobre que tem que executar /cygdrive/c/Windows/system32/notepad.exe. Ao mesmo tempo, se eu quiser executar o 'foobar.bat' ou 'foobar.com', eu preciso fornecer uma extensão. Parece que o Cygwin tem um tratamento especial do sufixo '.exe', que é realmente o caso (veja talvez_suffix funcione e stat_suffixes array). Além disso, parece que '.bat', '.com' e '.cmd' foram removidos propositalmente em versão 1.214 do spawn.cc e não foram adicionados novamente em uma atualização mais recente .
Sinta-se à vontade para perguntar sobre o primeiro problema na lista de discussão do cygwin e sobre o segundo problema nos desenvolvedores do cygwin. Eu não estou realmente envolvido no Cygwin, mas é assim que você pode contribuir para isso! :-) Além disso, para corrigir a minha resposta à sua pergunta inicial: todos os executáveis do Windows com extensões da lista PATHEXT, exceto .EXE desaparecer:
C:\Windows\System32>echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC