I'm pretty sure this pc uses a socket AM2 motherboard. The cpu's that fit this have been out of production for quite some time, and would be quite difficult to locate new. This board should accept almost all AM2 cpu's so the best would be the Athlon64 X2's. . As far as graphics. You will be limited by the 250 watt power supply to fairly low end cards, and may also be limited as as to the cards size as well do to the microtower case. Your best bet to find a cpu is probably some place like Ebay
You are a father, at least from my understanding. Why are you limited to $100?
$100 will not get you any decent upgrades.
AM2 CPUs were discontinued years ago. You can still find a few on the web, but you still won't be able to play modern games @ playable frame rates.
You could download Windows 8 beta and install it for free on his machine, although it's not recommended since it's still in beta.
I've been using Windows 8 on my main machine and it's been working fine.
the best you would do for $100 is a video card. NVidia GT440, ATI HD 5670 or 6670, HD 7750. none of these should over tax the PSU. this won't make the computer play any modern FPS, but should play some of the older games and some newer non FPS at lower resolutions and lowered effects.
next would be Ram putting in 2 x 1gb DDR2 667 non-ecc
WIN8 is free to test and would be a good option for a while.
he could build a budget gaming computer for about $450, but the the only re-usable part of the HP DX2250 is the case and maybe the small HD and optical drive (if it is SATA and not IDE)
TBH - for $100 you might can do RAM (at least 1gb more) and a GPU, but I will tell you this. You'll be wasting your money in the long run if you ask me. You could grab an updated PSU (he can use down the road) and GPU. Anything thing else will be scrap if he decides to do a new build. CPU/RAM/MOBO/PSU will all be thrown away if he builds new. So might as well replace things he can use later (psu/gpu).
The best thing to do is build a new computer with updated parts. For 300-400 depending on if you can scrap up some freebies from friends, a computer can be built.
If this is something that cannot simply be afforded then maybe look into sharing "one" computer and do the build together with your son. Or, get him to do a daily/weekly set of chores etc to save up money.
It's always good to hear that more young people want to be IT Professionals! I'm a Technical IT Trainer in London and I train 16-24 year old apprentices.
Anyway to answer the post, as others have said before me there's not much you can do with that machine unfortunately. I have a "never say die" attitude and if I was a father wouldn't spoil my son with an overly powerful machine either, but unless he wants to play older 2D games the best option would be to get him a low-mid range PC from a retailer or buy the components to build him a new one.
With regards to the licence key, using someone else's installation DVD would work or if you know of someone with the files on a USB stick or external HDD that would work too.