I wouldn't say it's Window 7's fault since 7 is compatiable with BF 2. To test your computer on what you might be missing use this great website for help:
http://cyri.systemrequirementslab.com/srtest/
You might not have the correct hardware or you might just need to delete the folder in your Program Files folder after uninstalling the game then reinstall the game.
Answers & Comments
Battlefield 2 works for me on 2 different computers with window 7.(Both meet the system requirements)
I wouldn't say it's Window 7's fault since 7 is compatiable with BF 2. To test your computer on what you might be missing use this great website for help:
http://cyri.systemrequirementslab.com/srtest/
You might not have the correct hardware or you might just need to delete the folder in your Program Files folder after uninstalling the game then reinstall the game.
Thanks,
Brandonmxb