One of the first things you have to do as a web professional, is to clearly define what is expected (in terms of the job) before you do any work!! So you have to define:
- who creates the artwork, what format it will be delivered to you if they provide it.
- the style that they want.
- what tech requirements they may have - do they insist on Flash or jQuery? Do they want the server code to be in say PHP or .NET?
- how many allowable revisions? I used to give a limit of 3.
etc ...
I get the impression that you did not put that on paper?
The best case scenario for a contractor, is to be paid as you go - good luck getting those contracts!!
Typically, clients will ASK for your per hour rate but will then want a fixed cost - and as such, the contract is VERY important. If you were working per diem, it would not matter.
So, in your case, you might try and calmly (and with a spirit of trying to solve a problem) table your concerns (with suggested remedies - all on paper) and see what the client says.
Stefan