@Zipper, yes, unfortunately this is a common practice. I did not say it was a good practice.
The problem is that you have NO control over the domain when it is registered by a third party.
And yes, this practice should be illegal, but there isn't any laws against it that I know of.
The rule is-- In order to have ownership and control over a domain name, you must have the username and password for the registrar account. Where the domain is registered doesn't make much difference because you can still host the web site on any server.
The only recourse you have at this point is asking them to transfer the name to your ownership. You could tell them that if they don't transfer the name to you, you might leave their hosting-- and get a new domain name, but this time register it yourself.
--or-- call your lawyer and threaten with a suit if the name is not transferred to you. You may have a case since it is YOUR name on the whois record.
I have had situations where I had to get the person a new domain name and wait until the previous person dropped the name(failed to renew it) --Then go grab it before someone else gets it. Many registrars have a 'back order' service that will wait for the name to drop and then grab it for you.
I do hosting for people and when it comes to the domain name, I always register the name for them on their own account that I create for them --- and --- I send them the 'user name' and 'password' for their new account.. That makes them the owner of the domain name.