I use GoDaddy for my registrar needs and host free with x10hosting.com. I also have some free hosting at zymic.com as well.
The way I have mine setup is to use x10hosting's nameservers and either add a parked domain or add-on domain to my x10hosting account, then modify my MX records at x10 to point back to the email servers GoDaddy uses.
I prefer the stability of GoDaddy's mail servers and I use their forwarding primarily. I tried x10hosting's mail with forwarding, but it came back with spam bounces whereas GoDaddy works perfectly.
You can also do web forwarding to the free host, but I don't like the choices. You either forward to the host and people see the free hosting domain info or you mask the forwarding and then all people ever see in the address bar is
www.yourdomain.com. That makes it hard to link to specific pages on your site.