Every single EA game I have played has always given me connection issues. Frequent Disconnects causing me to drop out every 3 minutes. If I was lucky, I could get a 20 minute gaming session in before the EA Server gave me the 1 finger salute with something like "Connection to the server has been lost"
This first started for me with the first game in the Battlefield series, and it still happens with the latest in the multiplayer fragfest: Battlefield Bad Company 2 PC Beta.
I managed to get around Battlefield 2 by forcing the game to only use one core - A solution but not ideal.
Dragon Age Origins, another game that connects to the EA server gave me issues from the start - luckily it can be played offline, a pain in the butt if you have DLC but workable nontheless.
There has to be a solution and finally I think I have found one that works for every single EA game I have tried. 2 hours online continually for both Dragon Age and Bad Company 2.
Increase your TCP timeout value from the default 360 seconds to something like 2500 or more.
In my case I have a Billion Modem which has a hidden page for this value. Just browse to your Modems HTML startup page and add ic.asp to the url eg: http://www.192.168.0.1/ic.asp
This value refers to the Timeout value for established TCP non-well-known port connections. (No traffic during the configured timeout period.)
Hope this works for you too.