Hey all,
Well I saw the post on the front page on your ASE work around spy98 so I put it to use on Xfire and it works. Here is how to do it:
Navigate you your Xfire directory (Default: C

Program Files\Xfire), locate the "xfire_games.ini" file (I would recommend backing this file up before you continue). Use find or scroll down a ton and you will find the following line in the BF2 area (make sure your not in the bf2 demo area):
Launch=%UA_LAUNCHER_EXE_PATH% +menu 1 +fullscreen 1 %UA_LAUNCHER_NETWORK_ARGS%
Change the line to the following:
Launch=%UA_LAUNCHER_EXE_PATH% +menu 1 +fullscreen 1 +playerName YZNAME +playerPassword YZPASS %UA_LAUNCHER_NETWORK_ARGS%
Just like the ASE fix, XYNAME being the username which is used to sign in to your battlefield account and YZPASS being the password. Note the upper/lower-case characters.
BF2 should now launch strait to into the server using Xfire.
Thank you spy98 and happy fragging.