rather than make everyone sit and wait for an unlimited quantity of time, the matchmaking system really should be able to detect if a player has Connection Issues and just expel that player from the match pool. that way, the rest of us can actually get a game started instead of waiting for the guy to figure it out himself and cancel.
there are obviously plenty of players who don't know that they're firewalled or some other kind of issue that prevents the P2P system from working. they just sit in the match making pool and clog it up, ruins it for everyone else. please find a way to remove these players from the pool. that is all.