Ok, so I was a level 36 and been playing since launch. The account I have been using was the same as my EA/Gamespy Battlefield 2.
One day I decided to re-install Unreal Tournament 3, which is a gamespy game as well, so I created an account with the same name and email but a different password. Since that day, 2 weeks ago(?) I have not been able to get into Crysis 2 multiplayer. I have tried all of the fixes in the forums. I even made my gamesas login password match the UT3 one so both ID's were identical.
Tonight, I decided to try logging in again and got the same usual error error message *Incorrect login details, go to gamesas blah blah blah etc... *
I decided to try something different. In my windows firewall Its always been set to allow crysis 2. But this time I decided to turn off the firewall completely. Once I tried logging in again, I got a different message- * Network error check your connection blah blah blah*
So I was sitting there thinking "Why would I have a network error if I turned my firewall off?."
Wouldn't it be open access now? Well, apparently theres a conflict somewhere down the line with windows firewall because once I disabled it, then enabled it once again, I was able to log in to Crysis 2 multiplayer once again.
*****So in a nutshell, even though crysis 2 was on the exceptions/allow list, disabling windows firewall, then enabling it again solved my problem.*****
Only thing is, Now when I look at the programs allowed through windows firewall, there are 5 crysis 2's.. o_0
Not that its a problem, but maybe that can be a clue to help the devs find the real solution.
If you have never been able to login since your purchase, try using your battlefield 2 and/or unreal tournament login and the windows firewall method along with them.
If it works for you please post. If not, I feel your pain.