I always get thrown into a lobby with nobody in it and it takes around 3-5 minutes of staring at the screen before it puts in a current game. The majority of times the game is almost over then it kicks me out of that lobby into a lobby on my own and the whole process starts again. This seriously needs fixed.
It sounds to me like your NAT is strict instead of open. Try enabling uPnP in your router settings. Then again, I haven't played Crysis 2 mp in about 4 days.
NAT is open. Can play Battlefield and Halo games just fine. I don't know what's the least impressive, Crysis 2's online or how Crytek has handled these issues.