I kept running into a previlages connection problem last night with Punkbuster in BF2 on a vista OS. Below is how to resolve the punkbuster issue in Vista.

Battlefield 2
We ran Battlefield 2 in both its native un-patched state and with the latest 1.3 patch, and both of them seemed to work just fine. There's one significant gotcha that crept up several times in our testing: Punkbuster. The Punkbuster anti-cheating code is a common part of many online games (particularly shooters), and it works by scanning game files to make sure they're not compromised. Most Battlefield 2 servers have Punkbuster enabled, and when we joined one, we got promptly kicked out of the game with a message saying Punkbuster failed due to "inadequate O/S privelages."
The solution is simple enough: right-click the BF2 icon, choose Properties, and then in the Compatibility tab check the box that says "Run this program as an administrator." After doing this, we encountered no problems joining any server.