A couple of experiments with the failing drive showed that if I left an icepack wrapped around the external USB case, it would run long enough for me to verify some of the contents. The new drive was installed in the case, and I used a neat SATA/IDE/mini-IDE->USB adapter borrowed from a friend to connect the old drive. To keep it cool, I placed it upside down in a Pyrex pie plate with an icepack underneath it and a paper towel to handle any condensation.
This ran decently for about 20Gb, when the brand-new destination drive failed and did a USB reset. I brought it back online, fscked it, and restarted the rsync. It failed again after a few more gigs of data transfer. Checking the disk, it was extremely hot. I removed if from the external case, and got a cookie sheet from the kitchen.
Fortunately it was also a cool night, so I opened all the windows in the living room and got an additional breeze going. The rsync ran all night, and ended successfully. The new drive hasn't failed since.