A few weeks ago, I moved a few things around on my personal domain, Karlo.Org. This involved switching the blog from a dedicated server with its own IP over to the Typepad weblog service, removing the DNS A record that had pointed to the IP address of the old server and setting up a CNAME record redirecting Karlo.Org over to a server name at typepad.com. I also switched nameservers at the same time, so I had to recreate my MX records as well.
Within a few days I discovered that Gmail users were no longer able to send email messages to my Google Apps setup on the same domain, receiving delay messages like this:
Delivery to the following recipient has been delayed: email@example.com Message will be retried for 2 more day(s) Technical details of temporary failure: The recipient server did not accept our requests to connect. Learn more at https://mail.google.com/support/bin/answer.py?answer=7720 [karlo.org (1): Connection timed out]
I spent a bunch of time messing around the the MX records, etc to get this fixed, with relatively little success. It was all the more frustrating because the problem seemed to be limited to senders using Gmail - most email was getting through just fine.
What I finally figured out is that if you have a CNAME record on the domain without any hostname (i.e. karlo.org instead of blog.karlo.org), that may invalidate or override any MX records, depending on how the sending server interprets the response from the domain name server. It won't do that if there's an A record.
So if you're trying to host on Typepad or Tumblr, you need to use a hostname with a www in front of your domain name, rather than the bare domain name, and set up a redirect on a server you can point to with an A record that pushes users over to that host. In many cases, your domain hosting company will offer that kind of redirect service.
Once you've removed the CNAME record on the bare domain name, Gmail emails will start routing correctly to your Google Apps mailboxes.
(I'm posting this both as a reminder to myself, and to help out folks who might run into the same issue, since it took me a little while to solve and the various knowledgebases were less than helpful.)