Se algum dos anexos tiver o mesmo nome, ele pode estar sendo substituído (não se lembra se .SaveAsFile
irá sobrescrever ou causar um erro), então você deve verificar se o nome do arquivo existe primeiro ou adicionar outro identificador para o nome do arquivo (talvez o assunto da mensagem?).
O Outlook pode ser configurado para fazer coisas diferentes com contas de e-mail usando o IMAP, como baixar apenas os cabeçalhos e obter a mensagem inteira somente quando você abri-la ou fazer o download da mensagem inteira em primeiro lugar.
Você pode fazer algumas verificações aleatórias para verificar se existem anexos de mensagens que foram lidos e se não há anexos de mensagens não lidas? Isso confirmaria a teoria do IMAP e poderia ser corrigido no código com um método para baixar as mensagens selecionadas, caso ainda não estejam.