Your problem is not just graphics, it's your CPU. It doesn't matter what graphics card you buy, you still won't be able to play these games, even on low settings. A Pentium 4 is below the minimum system requirements for either game. All modern games require at least a dual core CPU. Even with a dual core CPU, a 280 Watt Power Supply isn't enough to power any decent video card, the best you could possibly get would be the Radeon HD 5570. Everything else, even the 5670 would draw too much power. You also need to upgrade your OS to Windows Vista/7 in order to play Battlefield 3.
Honestly, you would have better luck trying to play either game on the laptop you are going to buy. I'd say save the money, and put it towards getting a decent GPU on the laptop you're going to buy. Your only other option is either upgrade both your CPU (if that is even possible) and graphics on your desktop, or build a new desktop.