So I bought a non-affected Seagate 1.5TB drive on sale. I've had the devil's own time cloning my old 320 to this new one, and I think I finally discovered the root of my problem.
But first, what I did:
1) Boot with Knoppix, dd the old drive to the new one. Takes about a day and a half.
2) Boot new hard drive. Works great.
3) Boot Gparted LiveCD. Grow NTFS partition (sda1) to 1.3TB, move swap (sda2) and Ubuntu partition (sda3) to end of disk.
4) Reboot to hard drive. Grub comes up with a cryptic Error 17.
5) Cuss and boot to Ubuntu CD. Try to run grub-install onto sda3, and it says that the stage1 file isn't readable, even though it's right there and less has no problem reading it.
After some digging, I think my Ubuntu partition is now too far towards the back of the disk, which puts Grub past whatever its cylinder limit is. I've got Gparted shrinking the NTFS partition by 50MB (which takes about 12 hours), and then I plan to put a /boot partition at the very beginning of the drive, presuming nothing's going to throw a fit about putting what I assume will be sda4 at the beginning.
Bah. This reminds me of the bad old days of LILO.
edit: I'd also tried using Seagate's disk cloner, with the same result, although it didn't take quite as long as dd did.