One quirk I did notice with BF2 and setting my joystick bindings was that I only needed to set the bindings for one range and the opposite action was autmatically filled in. This lead to some reversed bindings while setting up my joystick. You may think you are setting the + x axis but in reality BF2 is assigning it the - x axis. This forced me to do some trial and error.
I know this is obvious but when I went to bind my Logitech joystick, I had to be very careful when doing the binding and TEST it while doing it. One of the cool things is that you can easily test and change the bindings while in game so it can go very quickly.
My suggestion is to get in game, check the bindings, go fly. If wrong the hit ESC and tinker with the bindings, hit apply and ESC and do it again till you find out.