Before you spend too much time fiddling, try commenting-out
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_invalid_hostname reject_non_fqdn_hostname reject_non_fqdn_sender reject_non_fqdn_recipient reject_unknown_sender_domain reject_unknown_recipient_domain reject_rbl_client zen.spamhaus.org permit
and using the following it its place
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Does the problem persist? If not, the issue is clearly with one or more of the recipient restrictions. I'm not suggesting that you should remove all of them, but you may need to remove some of them.
How did the zen.spamhaus.org entry make its way into your configuration file? It's not necessarily a problem, but it seems that you (or something you installed) must have modified this line.
I noticed also that a) you lack commas between each directive on that line, and b) you seem to have an orphaned "permit" at the end of the line.
If the problem still is not resolved, what values do you have for these two directives?
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf