Como Juancho aponta, isso se deve em parte à insensibilidade a maiúsculas e minúsculas do sistema de arquivos subjacente. Emacs é / foi projetado para POSIX, onde os nomes de arquivos fazem distinção entre maiúsculas e minúsculas.
No seu caso, o Emacs solicita o arquivo Lab01.cpp e o sistema operacional felizmente fornece o arquivo lab01.cpp sem nenhuma indicação de que ele realmente tenha um nome diferente.
Suspeito que (setq read-file-name-completion-ignore-case t) ajudará quando você executar C-x C-f Lab01.cpp , mas provavelmente não ajudará em seu caso de uso específico.
Você pode M-x report-emacs-bug e pedir para o Emacs ter mais cuidado.