This was where life started to get pretty interesting (oh god, oh god, we're all gonna die?). It turns out all of the utilities for upgrading of TiVo disks are excitingly broken in subtle and irritating ways. You're fine if the target disk is less than 274Gb, but if it's more, then you run into problems.
Firstly, you MUST give mfsrestore the -r 4 argument, or it just won't work in general for very large drives.
Secondly, mfstools (mfsrestore, specifically) does not correctly create swap space larger than 127Mb! Argh! So, if you give it -s 127 it will work, but if you give it, e.g. -s 512, it will not. Now... it sounds like if you ever have problems that cause a GSoD, it may be unable to recover if you don't have at least 1Mb of swap for every 2Gb of disk size. I figure why the heck go for 250Mb of swap when 512Mb is vanishingly tiny on a 500Gb disk! 0.1%, for crying out loud. So, anyway, the thing is, it doesn't work. It thinks it's worked, and it has in fact correctly created the partition, but it has not in fact correctly initialised the swap partition.
tpip is a utility for various things including *fanfare* initialising the swap partitions on TiVo disks. Alas, if you run tpip --mkswap /dev/hdb, it will get it wrong! TiVos use strange byte-swapped disks, and apparently tpip gets the byte-swapping wrong. Oh, did I mention Series1 uses a different byte swapping (no byte swapping?) than Series2? So, the solution is that you run tpip -s -1 ... telling it your nice Series2 disk should have swap initialised as for a Series1! Urr... yes, really, you read that right.
Anyhow, without further ado, here is how I found all this out: The thread on tivocommunity.com where I professed being at my wits' end and received help that sent me down the right path to getting it all working!
So, well, now I have a Series2 Dual-Tuner with 560hrs (according to itself -- or 583hrs according to mfsrestore) of recording space! That is, of course, at basic quality. I use high quality, so I'll just have to get by with ~280hrs of stuff. Woe is me! ;)