Thanks for the advice guys, I've fixed it without a reinstall.
As dstruct2k suggested it was MotionJoy that was the problem. Had to go to Microsoft Controller for Windows in Device Manager and right click on MotionJoy and uninstall driver
. That was the only way to stop it overriding the Microsoft drivers
I can now fly jets in BF3! Awesome! Thanks for the help, this forum is fantastic!