Yeah, I've tried to change the key via registry or via .exe file in support folder - same thing happens each time, meaning ending up in a same HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Battlefield 2\ergc\(Default) value. I tried to keygen other keys - no luck.
But, as I remember from pat experience, if you try to play on unofficial servers they have their own Key Database, meaning only if your key matches a key in their database they send Key Invalid error. Back then I've changed CD Key 2-3 times and it started to work, but now I don't have that CD key anymore.