Folks, I have been writing code since most of you were a twinkle in your grandfather's eye ('77)
I have done hundreds of contracts, some free lance and others with firms. I too have been ripped off, not paid, given bad paychecks at xmas, the works. Two way street.
As with any thing, buyer beware. I never pay for it all up front, I ask for phases, and I only remit once I am satisfied my idea's are being represented in the code.
Given that I am an old dinosaur mainframe assembler guy, they have me managing two seperate staffs these days. These peeps are in India and Malaysia, and my fat arse is in America. These peeps are paid to follow specs and write code, build systems, etc. That's even a challenege, and I KNOW THESE GUYS- I go see them for a month twice a year!
My point here is to think thru what you want, and then how to break it into chunks and order the payment according to result. NEVER PAY all the coin up front - A retainer is fine, but it should not be more than 10% of the bid in any case.
Also, avoid an hourly rate, unless you really like tossing coin out the winder. Request a Fixed bid, and if it takes some time to find the right person..
be patient