Anyways, I recall during my S3 hacking days that parts of the PROM were read and executed while tivoapp (or swedishchef as I think it's now called?) was live. I learned this inadvertently when the tivo locked up when I pulled the PROM out of a live system, and only booting the tivo in a "bare" state (e.g. terminating rc.sysinit early in the boot stage) allowed me to use a live tivo to reprogram a prom chip (because I didn't have any actual tools for reprogramming one.)
Aside from the sata idea I came up with earlier, I was thinking alternatively you could *possibly* figure out what portions are read and swap out the prom early in the boot stage (but after the prom has done its signing checks.) Wouldn't be a permanent solution, but it would at least allow you to gain initial entry and learn more about how they work.