Usually, I price mine by the project, and shoot for about $100/hour. I take the risk, and if I can get it done faster, I do better, and if I need some learning curve time, I don't have to feel bad about it. I usually give them a ballpark price and try to stick to it, but do adjust it for some reasons.
That said, it is good to have some sort of agreement about re-work. Lately, even good customers have been less complete with their descriptions, which causes re-work. Last night, an order came in that was a hurry-up thing. I asked a clarifying question, which was not answered, so I made an assumption and proceeded on. When he got the proof this morning, he requested a correction to the exact thing I asked about. It is a tough thing running up the price on someone who has been a customer for so many years.
Bill in MN