1. "Ok references" aren't great, and years of experience don't mean much. It's possible that your software is too complex, but if that's the case I'd recommend letting contractors in relatively easily. Give them something isolated and well-defined as a goal, and as they work on it, they'll get familiar with the codebase and be able to work on something larger scale.
2. In this circumstance, I think you absolutely have the right to give a bad reference, although given the short-term nature of your relationship I'm not sure what would come of it. Taking an advance and not doing any work is almost certainly a breach of contract. While it might not be worth your time to pursue this in small-claims court if the amount is relatively small, telling as many folks as you can about what happened is certainly a reasonable avenue available to you.
3. I may be interested, but I know nothing about what you're doing. Shoot me an e-mail if you'd like to talk.