I never take a deposit. I don't feel comfortable holding other people's money, and I tell the client they pay upon completion when they are 100% satisfied.
We are working on a 100k+ job now and there is no draws, job should take 30 days, and probably another 30 days to pay. I am just glad to have the work, I would rather have a project and my money out on materials than in the bank making less than 1%.
I have had a bond company pay me when a general contractor defaulted. It took a year, but they paid the bill in full and the lawyer fees. And it was for a new church building... go figure.