That's easy to fix. How I fixed it is I run PR under Vista Administrator.
How to run a program in Vista with Administrator Rights:
Browse to the program you would like to launch as an administrator
Right click the program icon and select the option to "Run as administrator"

If all works well when the program is run as administrator, you can opt to always run the program as administrator. In addition, you might want to run the program in compatibility mode for an older version of Windows.
How to set a program to always run as administrator:
Locate the program you want to launch with admin rights
Right click the program icon and choose the properties option
Select the compatibility tab from the window that appears
At the bottom of the window, under privilege level, check the box to run this program as administrator
Note: you may also want to run this run this program in compatibility mode if it was originally created for another version of Windows such as Windows XP. To do this simply check the box to run this program in compatibility mode for: and then select the compatible Windows environment from the drop down menu.
Once finished setting your options, click Apply to accept the changes

------------------------------------------------------------
or you can try this.
WARNING! You must run Project Reality by running PR.exe, not BF2.exe.
Press ALT+F4 and update your shortcuts!
- Make sure your PR shortcut is setup correctly and you are starting PR with pr.exe and not bf2.exe.
Open properties of your Project Reality shortcut - Right click on the shortcut, select Properties.
Now focus on the first writable line from the top, which is called "Target" in the English version of Windows (both XP and Vista).
The line should look something like:
C:\Program Files\EA GAMES\Battlefield 2\mods\pr\pr.exe + parameters
In case you installed BF2 into a different directory than default, ensure that your shortcut is pointing to INSTALLPATH\Battlefield 2\bf2.exe. You can simply edit the target line to correspond to your custom install path (keep everything else (parameters) the same).
Now it's time to take care of the another writable line underneath the "Target" one. It's called "Start in".
Make sure it looks like:
*SOMETHING*\Battlefield 2\
For Windows Vista, you will need to open up the PR shortcut's properties again and switch over to "Compatibility" tab.
Focus on the bottom of the window, specifically on the "Privilege Level" part.
Tick the box left of the "Run this program as an administrator" option.