I am assuming in this response that there wasn't any relevant information omitted from the initial message. That is, of course, a dangerous thing to assume. So, major caveat -- if my assumption is false, the comments below are likely incorrect or irrelevant.
Chris: the situation you outlined is very unpleasant, and I'm sorry you're going through it. The second company you describe seems, to me, to be engaging in highly unethical behavior. Personally, I have no patience for this sort of thing -- it is upsetting that a member of this community would behave in such a way.
To whoever is on the other end of this:
If something goes unexpectedly wrong and you simply have no money to pay, that may be understandable. Sometimes you end up on the wrong end of things, even through no fault of your own. More likely, this indicates poor financial planning, and processes ought to be reevaluated to not repeat the mistake. It sounds like the first company may be in this situation, and is trying to do the right thing by paying you as soon as they are able.
* But if you are purposely misleading people by not informing them of the risk your are bringing on them (for example, you know you are unlikely to have money to pay a consultant and aren't honest about it), then this is very clearly unethical.
* Additionally, if you have money to pay yourself, and you're skipping out on paying your contractors or employees, you are spreading risk to others and keeping rewards for yourself -- also clearly unethical. (Despite how common this practice is in finance)
Even if you have no concern for the others involved, you ought to at least value your own reputation. Nobody wants to work with or for individuals or organizations that behave in such a manner.
All that aside, a few possibly helpful practical responses:
Chris, if you structured your contract in a reasonable manner there are legal options. Of course, those options involve time, money, and headache as well so I imagine that at the end of the day it would be more about a moral victory than anything tangible. (I'm no expert on these legal matters, though)
Having been on both sides of contracting, I have found the following guidelines to be helpful:
(1) Be very clear about expectations on both ends. Ambiguity is a gamble, and you can think of it like gambling at a casino -- there are good reasons you may want to do it, but you should accept that there's no guarantees you'll come out on top from it.
(2) Try to find out about their reputation and past experiences; basically, is this a person or organization you trust? It seems like you did your best with that already; this isn't foolproof (but usually peoples' reputations follow them around, so it's a decent indicator).
(3) Very importantly, structure contracts with regular payments. I always prefer monthly payments. It's a good balance of not having a lot of overhead (invoicing and cutting checks once a month isn't hard), and getting paid regularly enough to mitigate risk to a reasonable extent. It's also helpful for the organization paying you to make sure they're forced to assess the contracting costs regularly.
(4) Stick to your agreement: Every contracting agreement I've ever signed included a clause stating that payment is required within X days of an invoice. If that doesn't happen, then you should stop until the issue is resolved. It's easy for people to just get very busy and overlook things, and bank errors and such do happen, so if something is a day or two late, a bit of polite nagging is appropriate. But if you at all sense a pattern of non-payment, you shouldn't put up with it.