O comportamento atual que você descreve é chamado de "sincronização unidirecional" - todas as alterações em um lado, incluindo a exclusão, são propagadas para o outro lado.
Para um cache permanente, procure em getmail ou fetchmail .
# ~/.getmail/getmailrc [retriever] type = SimpleIMAPSSLRetriever server = imap.gmail.com username = ... password = ... [destination] type = Maildir path = ~/backup/gmail
Ambos os programas suportam a busca de caixas de correio IMAP e POP3, mas o IMAP é geralmente preferido.