One of the easiest ways to setup an external domain with Heroku is using this addon: https://addons.heroku.com/zerigo_dns - You simply have to point the dns nameservers to
a.ns.zerigo.net
b.ns.zerigo.net
c.ns.zerigo.net
d.ns.zerigo.net
e.ns.zerigo.net
I am not affiliated with Zerigo DNS - just a happy user. Any yeah it's free for 50,000 queries per month and for $20/month you get unlimited queries.
Hope this helps.