The best tool I've found for recovering CDs in Windows is IsoBuster.
It creates an image of your CD and starts reading the sectors, updating the ones it successfully reads, the bad ones get scheduled for the next pass, and the process repeats itself until everything is recovered. You can even take with you the CD image and the CD and do the recovery using a different PC or CD drive (somehow the unreadable sectors are different for different CD drives).
I've managed to recover CDs with such damage I couldn't believe it finally worked (in one case it took 3 days, but I got a bit-by-bit exact copy of the original, as checked by the SHA1 fingerprints.)
A free (and less featured) alternative is IsoPuzzle, which used to be at http://www.geocities.com/marsoupilamis/downloads/IsoPuzzle-17Beta.zip. You might still be able to find a mirror.