As for hard drives you should look around for the specs... the faster the drive spins and the larger the data buffer is on the drive the better the performance of the drive.
If you find one with 5400 RPM and 8Mb buffer or one with 7200 RPM and a 16Mb buffer then go for the faster one with the bigger buffer. Even if you have to spend a few bucks for it. You'll be happier. Also check the transfer rates and get the fastest UDMA transfer rate. The larger the number the better.
Just be aware that ATA drives are a loose specification and you may end up with a drive that won't communicate with your 20 or 40Gb drive very well. So you may end up putting those on the secondary IDE bus to avoid issues.
As for the CDR drive... There are only a handful of manufacturers in the world. You can spend the $$$ on a name brand or go with a generic. I've done both and had both drives last just as long. Both models of drives will go south after burning a few hundred discs. Hell... The name brand drive I have here for CDR works great... I bought it to replace a generic that had a generic faceplate and a Phillips label on the back of the drive

The generic DVD burner works just as well and at the time it was $70 at Fry's when all the name brands were running aroun $140.
Just watch out for SATA drives! Your old system won't have a controller for them and if you buy one of those drives you will not be able to use it until you buy a PCI based controller. Your new system will probably have SATA controllers on the motherboard unless you buy an older model motherboard. It's all the rage now.
If you want a hard drive you can move back & forth between a laptop and a desktop then a firewire drive will work wonders. I have a 60Gb 2.5" drive and it is LIGHTNING fast. I've copied 27Gb of data off a file server in less than 35 minutes. That was going from the server to my laptop over 100mb ethernet - crossover cable - and through the firewire connection on the lappy. It's way faster for sustained throughput than USB2.0. But, I'd stick with a fast ATA drive for a desktop if you don't want to share a drive between machines.
RJ