eu1,
Just another thought / question...
If we "defer" the OTA install, hasn't the download (presumably to /cache) already happened (and if we are rooted, we can snag the OTA.zip file from there before its installed)?
This is pretty-much what the Droid X guys were doing when the first OTA was sent out for that phone...
I defer to your greater knowledge, of course

.
If I am remembering correctly, you get notified that "an update is available", and only
after you initiate the update, does it download it to your phone and then reboot into recovery all in one go.
Apparently there is *something* stored on the phone locally that the phone uses when it communicates with google's servers (for instance after delaying the install), so that when you next perform a "check for updates", googles servers will hand you what it wants.
I sort of vaguely remember "trying to get at the OTA download" by yanking the battery at the beginning of the reboot - but as soon as /sbin/recovery starts to run, it finds the command file at /cache/recovery/command, and starts to unpack the (pointed-to) OTA file. It fails immediately if you are using Amon_RA because of the "asserts" that are built in to the updater-script inside the OTA package (well, OK, you have a couple of seconds while the zip file is unpacked), and I believe what happens is that as soon as the "update" operation completes- whether it succeeds or fails - it erases the update package in /cache.
A very simple modification to Amon_RA that would disable this behavior is to simply add the line "disabled" to the "recovery" service definition in init.rc, as in:
Code:
service recovery /sbin/recovery
disabled
Because adbd runs by default in Amon_RA, if you customized the a recovery boot this way, /sbin/recovery would never run, and you would have all the time in the world to copy files, poke around, etc, using adb. But there would be no menus to interact with by default.
I didn't put the hack-job recovery together that way because then you would need to be at a computer to use the recovery menus - (/sbin/recovery could be manually started to get the normal Amon_RA menus to come up with "adb shell /sbin/recovery".) I sort of wanted something that would still be useful to flash ROMs and so forth, but be able to "catch" an OTA without letting it proceed or delete the OTA file.
Hmmm, that just gave me a testing idea.