For those of you trying to get Battlefield 2142 running under Vista, I feel your pain.
Here is what I did to get it running:
1) Fully install and patch up BF2142
3) Right-click on the BF2142 shortcut and choose Properties. Got to the Compatibility tab and select Run this program as an administrator.
This should allow BF2142 to run and not get you kicked out due to Punkbuster not being able to do it's job.
If you have User Access Control turned on, it will ask you if you allow BF2142 to run as administrator. You have have to say Allow, every single time. Yes, that sucks...
Even with this, BF2142 still crashes on occasion. It doesn't crash the whole machine, and Vista recovers from it easily, but it is a pain. I hope EA releases a Vista patch to help things.
Here's another tip to auto-login you solider. Right-click on the BF2142 shortcut and choose Properties. Got to the Shortcut tab, and add this info to the Target field at the end
+eaAccountName YourAccountName +eaAccountPassword YourPassword +soldierName YourSoldier
You can't avoid the starting movie other than hitting ESC after the earth rises, but then it will take you directly to the BFHQ screen.
This and other command line tricks can be found at the great Tweakguides 2142 site.
Good luck and see you on the Battlefield.