OK, so after 6 hours of playing with Internet setups and £100 on some new kit I think I have found a potential fix.
I have my port forwarding set up and my DNS set as Google (8.8.8.8, & 8.8.4.4)
I have Undp turned off as with just this on it was booting me more.
I have reset up my Mac address, and removed the old one from my router.
And finally the last setting that has seemed to fix the issue is weirdly my MTU setting. It was set as the a standard 1500 usually used. However with an MTU of 1480 (the same packet size that the EA server will ping back successfully each time) I have been able to game for 4hrs with no issues.
I'll update this if I get booted any more.