550 error for hostname

I hope this makes sense...

With our setup our mail server hostname is mail.domain.com and our zimbra was set up with that as the name. Our MX records point "domain.com" to this host so that user@domain.com will be processed by our mail server.

Since the hostname is mail.domain.com, users are set up like: user@mail.domain.com and an alias is created for user@domain.com so that mail to that address will be properly delivered.

I use nullmailer on other hosts in our network and sometimes sendmail to deliver cron messages and such. With other hosts I like to have mail show up as @domain.com instead of @host.domain.com so in nullmailer I set /etc/mailname to @domain.com and in sendmail I set up masquerading so that mail shows as @domain.com.

The problem I'm having is that mail to root@domain.com gets rejected with a 550 error.

You should also have changed the domain to 'domain.com' name when you were asked during the initial install. You can set your MX record to the correct format and you can rename the default domain from 'mail.domain.com' to 'domain.com' using the command line tool zmprov renameDomain - check the usage and make sure you take a full backup before you make any changes like this.