The problem is that your cyrus implementation uses the oddball standard cyrus namespacing, where all folders -- even the "top-level" ones -- appear under INBOX. Your invocation of imapsync maps "INBOX.Trash" to "Trash" correctly, but it also maps "INBOX" to "", and there's no "" folder under zimbra (or any other IMAP server).
According to
this forum post, you should be able to reconfigure your cyrus server with the "altnamespace" config option, which puts top-level folders on the same level as INBOX rather than as its subordinates. I think you should then be able to run imapsync successfully, though you may have to remove the
--prefix and
--folderrec options to make it work.