I have a recurring problem with Xfire and BF2.
If I try to join a game that any of my "friends" is on via Xfire, it always fails within BF2 telling me there is a problem with my network settings.
I can get in by noting down the IP address and port and connecting to server within the game though...