Id like to update my situation because i got it working. The mistake I made was that I installed BF2 through steam and then before launching it, I immediately installed FH2 as well.
When you install BF2 through steam, make sure you run it first before installing fh. Steam updates direct x and it also installed punkbuster for you.