But if you are looking for an on-going relationship, this changes the dynamics and gets much more money than simply hiking your rates.
It's related to the game where one person gets $10 and then has to share it with another, who has the option of rejecting it. If they reject it, you both lose all the money. The simple game theoretic analysis is that you should offer $1. They're better off accepting than rejecting, so they should accept.
But they don't. Experiments show that people will reject any amount below $3, and $3 itself is marginal. People have an inate sense of fairness, and if they think you're not acting fairly then they will punish you, even if it costs them money.
There is often more at stake than the obvious financials, and this is an example where that is being recognised and used.
EDIT:
Let's not forget that it also changes the dynamics from the developer's perspective, as well. I don't consult anymore, but I imagine I would work a lot more efficiently in the strategy described - it would help me focus on solving the client's real problems instead of creating justifications for the hours I bill.
If a good contractor is in a market where there are many clients who will pay a higher, more appropriate rate for certain work, why should that contractor absorb the risk of this technique? And that's even before considering the practical problems with doing spec work for a client without tying the requirements to cost. If you've ever done that with a real client, you probably know how painful it is.
Ultimately, part of your expertise as a professional is knowing how to put a value on your work. If you need to rely on laymen to do that, you probably need to take some time to learn about pricing. When you set a rate, you send a signal to the market about the value of your work. And, empirically, I've found that the quality of your client interaction is directly proportional to the value of your work. So: if you do good work, charge an appropriate rate, and only work with clients who are willing to pay for that quality. However you set your rate, you'll get the clients you deserve.
If you have no idea how to value your time, this method will improve your margins but it's far from optimal. Worse yet, it will increase your risk as well as the likelihood that you end up spinning your wheels with clients who have no respect for your time. That's no way to make a living.
YMMV, but your insistance on pricing "correctly" and not putting your livlihood at risk suggests to me that you are not getting the money you might, becuase you're not accepting the risks that make it possible.
As I say, I don't know your context, and your opinion adds a respectable cynicism to an otherwise exuberantly optimistic discussion, but my (limited) experience suggests it works.
I don't blame you if you decline to run the risk.
That said, my cynicism is hard learned. I generally think the best of my fellow man, but I've been burned enough since striking out on my own to tend towards cynicism when it comes to client work.
For me, things have worked out best when I've set a fair price on my work, eschewed flat rates for time-based rates, and set hard boundaries on the client-contractor relationship.
I'm starting to feel like the 37signals guys in this thread. There's something to be said for making a living by doing good work and charging a fair price for it.
Start dealing with a BigCorp and there is no goodwill to be had. In fact, this pricing mechanism may backfire because the person you are doing the work for isn't the person who signs off on the budget.