First, we disabled the McAfee Antivirus software, as it had turned into a PITB for Sam as it continually tried to download updates over his modem line. Then I was able to uninstall the beast. This was ok, because he'd get new antivirus software later.
Then I got him connected to the Internet through my router so I could start downloading stuff.
Off I went to Windows Update and downloaded all of the updates that were available for Windows XP. Fortunately, he was reasonably up to date there, but it still took five separate downloads to get everything.
Then I downloaded AntiVir which has a free personal edition for home use. Updated that (just slightly) from the downloaded version and set it to scanning his disk.
While that was going on, I snagged copies of PC-Pine and PuTTY, a text mode e-mail client and a terminal/FTP program respectively that are just too useful to have around when your system is misbehaving.
We fired up Mozilla Thunderbird, where Sam's mailbox was pretty thoroughly clogged with spam. What's worse, when you clicked on an item to try to delete it, it would pop up in the preview pane and start trying to autodial XNet. Of course, we hadn't connected the modem yet...
We logged into his shell account on XNet and determined that all of the e-mail was already downloaded into Mozilla Thunderbird, so we went back there, turned off the damned preview pane, and consigned the spam safely to the junk folder. Then we told Thunderbird to stop downloading e-mail, sent a test e-mail off to Sam's account, and determined that I could pick it up using PC-Pine and save it to a folder in his mailbox. Score! PC-Pine is really useful when someone's dropped a 20 MB spam load into your e-mailbox on the other end of a modem line, because you just look at the headers and delete the crap without downloading it.
Meanwhile, AntiVir found two viruses which we told it to kill. When that was done, we hooked up the modem, turned off the LAN Internet connection, and sent it off to XNet via phone.
Success! The connection was no longer the poky mess that it had been since Sam got back from England.
So it looks like I fixed something. :)