Zimbra can discard duplicates of incoming mail. This has certain advantages, but for us, where different people use the same account with different identities, this prevents a message from being delivered to multiple virtual inboxes.
To disable this, do this as user zimbra:
zmprov mcf zimbraMessageIdDedupeCacheSize 0 zmmailboxdctl restart
Unfortunately, this has the annoying problem that conversations aren’t detected for duplicates of a message. See this forum thread for more info.