But there is no down side to a CNAME as long as you remember that it really is an alias for the target name and thus inherits any other data (like MX records) associated with it.
The downsides to CNAMEs is that they increase look-up times - instead of getting an IP, you get a hostname which you have to look-up - again (ie. basically if your unlucky it's double the hostname -> IP/MX/whatever lookup time). ie. back to square one. Furthermore anything which is a CNAME point to a CNAME is dangerous - and those have a tendency to automagically crop up. Depending on the DNS library/cache etc you are using already 3 CNAME's in a row may result in failed lookups (others have higher limits - sometimes 4 sometimes as high as 10, sometimes none...)
Cheers, MaZe.