Du kannst mal folgendes probieren:
Installiere
diese OpenAL Treiber. Im System32 Verzeichnis von Windows fidest du jetzt die Datei OpenAL32.dll. Kopiere diese in deinen BF2 Hauptordner. Ändere dort den Namen der Datei BF2OpenAL.dll z.B. in .bak um und die OpenAL32.dll benennst du dann wieder in BF2OpenAL.dll um.
Danach läuft das evtl.
edit: ist übrigens für alle mit Creative Karte ratsam da dann die Audioausgabe direkt an die Hardware übergeben wird und nicht erst per Wrapper bzw. in Software "übersetzt" wird.