Try the network operator...
After a few calls pointing out that I owned the phone and that to prevent me using it freely once I was out of contract with them could be deemed an unfair contract T-Mobile relented and sent me an unlock code without charging.
No doubt the attitide will be a bit harder on pay as you go, but its worth a try.