I'd say you're both CPU & GPU limited, but that's not necessarily such a bad thing. Both games require quite some oomph to achieve smooth performance by today's standards. First things first, while not top of the line, your system is perfectly fine.
Your CPU is most likely a Northwood 2.6 with a 400MHz FSB, the low FSB being a bit of a weakness, which is totally reasonable for the era you're looking at. You could of course try to upgrade, but I think your motherboard can't do anything higher than 400MHz FSB. That means the highest you could go would be the P4 3.0 GHz with a 400MHz FSB. That's only a 400MHz uplift and the FSB is already quite limiting. Not worth it IMO, I'd consider the platform you have already maxed out.
If you are interested in staying with socket 478 and increasing performance, any i865 based motherboard with a 800MHz FSB Northwood at 3.0 or 3.2 GHz will give you a decent boost in performance. Nothing to die for, but if you are attached to the platform and want to push it a bit more, the cost is not unreasonable.
Your GPU is also very good for that era. Radeon 9600 XT represents the top end of the 9600 series and handily beats all Nvidia GPUs during that era (GeForce FX or 5 series). The only real competition were ATi's own Radeon 9700 and 9800 cards. Of course, by 2004 Nvidia came out with the 6800 GT and later on the 6600 GT which was a fantastic mid-range card and that would indeed be faster (though 128MB VRAM is quite limiting). IMO 9600 XT for 2003-2004 is very period accurate for high performance within a reasonable budget (both then and now with the way some of the higher end cards are being priced!).
Halo is a port from the XBOX original game, but it makes use of Shader Model 2 features AFAIR. It is very demanding for GPUs of 2003 (the port came out in November of that year) and fairly demanding on CPUs as well. What resolution are you running it at? It's also not a particularly great port of the game. It breaks a few visual elements from the original and if you wish to run it at 60fps, keep in mind that animations are not interpolated, which means that you camera movement may be at 60fps but weapon and character animations will be at 30fps, making for a very odd experience. It always pulled me out of the experience.
May I suggest trying the Master Chief Collection on Steam? It has a pretty much perfect conversion of the original game.
As for Doom III, this was one of the most demanding games of 2004 along with Half-Life 2, Far Cry and a few others. Difference between Low and Ultra settings only affects Texture Quality AFAIR, so with 256MB it's normal that you don't really notice any difference in performance. Visual settings are actually hidden in Advanced Options within the game. These ought to influence how the game runs on your system.
I think your GPU is more than decent for this game. You should be getting really good performance at 800x600. 1024x768 might be pushing it a bit, but it's been a while since I tried it on Radeon hardware from that era.
The CPU is a bit more suspect here, and the fact that you mentioned it running the same no matter the resolution, leads me to believe that you are very CPU bound.
I suggest going with somewhat period correct drivers (from say mid 2005?) for your GPU and maybe taking a peek at the Doom 3 timedemo thread here on VOGONS, find a similar system to yours and see where you land performance wise.
All in all, I'd say you've got yourself a very decent system to play games up to 2004, maybe 2005. But expect games to drop frames here and there and not to get consistent 60fps. It's just how it was at the time!