I had exactly the same problem an could manage it like this:
Existing accounts still have (and use) the canonical address after an upgrade from an earlier Zimbra-Version. The only thing about it is, that its not shown in the Admin-Interface any more and therefore not editable.
Workaround for newly added users:
Connect to the ldap-server and add/edit the entry "zimbraMailCanonicalAddress" for the respective user to any address you want....
e.g. with LDAP-Admin under Windows
