I often use custom domains for email and haven't encountered this. From what I know, the best practice is to use a ___domain that you have had for a while and to use nameservers or MX records from an established service (basically). I don't run my own server but I am sure there are tricks to getting it to work that way too.
Use a commercial service then, they're cheap and provide every benefit mentioned by GP. The thing that you really need is not your own server, but your own ___domain.