BF2 invalid key was down to it being corrupted probably from applying the 1.4 patch as all recent patchs encrypt the key, EA have a keycheck app if it happens and you can use the key application on the disc to re enter the key if that doesnt work.
Wanting to join servers using punkbuster, which probably goes for any game using punkbuster you would need to start BF2 or other games as administrator. Seems like all this restricted privelages accounts are almost useless if so much needs to run with escalated privelages. Doesnt seem right, as linux wouldnt require this.