Wow, there are still web developers that hold clients hostage like this? Wel, at least you are disclosing that to the client. If somebody will fall for this, more power to you, I guess. Right up there with graphic artists that never release the Illustrator "source files" that clients don't usually realize they need. (if for no other reason than "artist hit by a train" insurance).
Myself, I start any client relationship with a stern lecture about how important it is for them to control their own domain name, and explain that, no, I won't register your domain name for you, and here's why you should never allow anyone to do that.
OK so you're going to hold your client hostage, now let's at least do it professionally. First off, get a real domain registrar with decent support for managing multiple domains and actual customer service. That would not be GoDaddy. My own preference is Moniker.
Now, get a separate DNS service, and point the domain to their DNS servers. I like DNSMadeEasy. Give the client the password for the DNS service, and then they can manage DNS themselves. Or simply have them get the DNS account themselves. Their IT people will be able to deal with MX and other DNS records releiving you of that duty.
When you get in a snit over some payment or delivery issue, you can still yank the rug out from under them by going to the registrar and pointing away from the client's DNS servers.