Even if this is true (I have no idea whether it is), making this comment here and at this time is in extremely poor form. You should be ashamed of your utter lack of simple etiquette.
Take today/tonight to make a game plan. Identify companies on that list that you like, map them, and go out and talk to them. If you're "in the area" it's really easy to pickup a few coffee meetings and eventually one of them will lead to something bigger.
When you meet with them be completely up front about your situation in the US, but DO NOT dwell on why the last job offer failed. Talk about their company/products/space- show that you've done your homework. That should lead to discussions on your passions/experience and if you've researched them and they have a position open, great! If not it's perfectly ok to ask them about other companies looking for someone with your talents.
Can we assume that Mozilla's software development is more technical than Wikimedia's software development? I think the only thing they have in common is that they're both non-profits.
Why would you want to apply for that many startups, simultaneously? Seems to me like they would all be working with wildly different technology solving wildly different problems...
I don't know about you, but I want people excited working with me.
To answer your first point: Our contest will cover different areas of problems, and certain companies will only be available for application if specific questions types are answered.
One of the main appeals for CodeSprint is that you don't have to work on the same puzzle twice. A lot of companies now have a FizzBuzz-style filter, and we're trying to make it so you have to FizzBuzz only once.