OK, I will tell you, deleting the HOSTS file will NOT solve the problem unless you've been doing some very strange stuff to your computer. I'd say the problem is that they must have implemented the whole thing without any dedicated servers. They randomly choose a player to be the host without properly checking to make sure that player actually has their firewall configured to be able to accept incoming connections. Then they make all the other players try to connect, and have a ridiculously long timeout and no cancel button, so I sit there forever waiting for it to give up.
Things they could have done to fix it:
1. Dedicated servers!!!
2. When assigning a player to be host, try firing a few packets at that player to make sure they don't get eaten up by a firewall before sending other players to try to connect.
3. Put a cancel button on the connecting page so that if I do get stuck with an unreachable host, I don't have to wait 5 minutes.
If this is the case, then doing things like turning on UPNP or setting up port forwarding would fix it so that YOU can host a game, but still won't allow you to get to games being hosted by an unreachable host. Basically, they need to have ALL the players either set up UPNP or configure port forwarding.