Thanks very much for that link and the info. The first partition on the slave (hdb) is a small primary partition intended for /boot (cyl 1 to 13), however I didn't specify that when installing Ubuntu, so it put /boot under its / partition, which is at a cylinder greater than 1023 (it's at 2820).
However, I don't think that's the problem because Ubuntu overwrote the MBR on the primary (Windows) drive (without asking me!) and it boots just fine from there. It seems like I should get the same error if it was a cylinder limit issue (this is a Pentium 4, so it should be new enough not to have that problem, I would think).
I was trying to implement the article's technique so that I would be able to restore the MBR to Windows, so that the Windows drive would be independent of the Linux drive. I tested it by by choosing Windows from the Ubuntu menu, then choosing Ubuntu from the Windows menu, which I had set up according to the article.
Since I have the partition available, I could test by installing the Ubuntu bootloader stuff to it, but I'm not sure how to do that (grub-install and copy all /boot files, I guess). I'll have to read more about GRUB before I try anything else.