It's not a "CatchAll" account. It's a "CatchAll" forward. It's a little like
Jai alai - Wikipedia, the free encyclopedia. The CatchAllAddress modifies the "RCPT TO:" field in the message replacing the old domain with the new one and re-submits it to smtp. Lots of messages could go unanswered that way. As I understand it mail to invaliduser@oldmail.org will always create a message to invaliduser@newmail.org. I believe that both get processed through spam filters. Bounce messages may not be correctly delivered because the submitting SMTP server is Zimbra itself. Anyway you can read the bug.
If the goal is to move the identity of the organization from oldmail.org to newmail.org, why not create all the current users as user@newmail.org and with alias of user@oldmail.org? A simple text file of usernames and a recursive zmprov script should take care of it in a minute or two. Or you could migrate users creating them on the fly and use zmprov to create your user list from which you recursively create the aliases.
As you add new people, there will be no need to identify them as newuser@oldmail.org, so don't even create it for them. Just give them newuser@newmail.org.
Bounces will all work. No extra cycles will taken accepting mail for anyone who doesn't exist.
Server configuration would be as standard as can be. CatchAll can't be seen in the admin web interface, but user aliases can.