That is a good point that I didn't make clear in my earlier posts. As a freelancer, by choice I only dealt with individuals, small businesses, and startups. I soon found that the $10000 mark was the upper limit for projects those types of clients go for. Above that and you start having to deal with big companies and their bureaucracy, lawyers, etc. Those projects took forever to close because the CTO or some VP needed to sign off. But you know they can and will pay...eventually. We ended up avoiding those jobs just because it meant less headaches, getting paid quicker, and that we would have the upper hand in negotiating. There is nothing wrong with going after the low-hanging fruit.
I don't have a black and white rule here; I'll just say two things:
* BigCos usually have payable processes, and if they do, your contact at the BigCo is unlikely to have the authority to short-circuit them unless your service is so cheap that they have direct signing authority for it. Otherwise, what you're fighting with the payment-upfront negotiation is the friction it takes to change any part of a BigCo's "how do we release invoices for payment" process. If anyone with title =~ /purchasing/i is involved in your negotiation, give this up.
* Equally importantly, the payment upfront clause mitigates a risk you mostly don't have with BigCo's. Upfront payment is earnest money. You need earnest money when the amount of money you're working with is large enough to be worth your client stiffing you over. For a BigCo, almost any first project you do is going to be worth less than that amount; your $15k web project is a rounding error to them, and any real dispute over payment is going to cost them more than $15k in the end, and they absolutely know it.