[Desire Q&A, Help & Troubleshooting] jptros:
So, I've got the update installed. Took lots of trial and error before I got it, my phone is not bricked/buggered/otherwise unusable. The update went without a hitch once I got things right, now running the OTA HTC Desire Android 2.2 update from cellular south. Ok, so, on to how I did it.

Requirements

a. Android SDK (need adb) or another way to flash the stock recovery image

b. The OTA update zip (if you let it download, it saves to /sdcard/download/)

c. A goldcard.

d. A stock system.

Before you get started, you need to restore your system to the stock rom via a nandroid backup or whatever you maybe have used to do backups. If you don't have a stock system (all stock apps, including cell south apps), the update will not install. It will error out about a quarter of the way through.

Once the system is back to the stock (other than the S-OFF and Super User), you need to create a gold card. If you don't have a gold card, you are going to get assertion errors in regards to ro.cid. There are lots of guides out there on how to do this, I used the unlockr guide:

theunlockr.com/2010/03/10/how-to-create-a-goldcard/

After your goldcard is ready, insert it into your phone, download the OTA update, don't install it. Once it's done downloading, copy it to your computer and extract the archive. In the archive, there is another archive that contains the hboot, recovery, system and radio images. Extact this archive (had to use 7zip over here) and copy the recovery.img to your sdcard. Reboot your phone again into recovery (I was using clockword mod), and launch a shell via adb. When you get the shell, you need to mount your sdcard (mountall -a didn't work for me like some guides suggest). My sdcard was /dev/block/mmcblk0p1. After that flash the recovery image. Complete instructions (with adb in %PATH%):

C:\Users\jp>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
~ # ls /dev/block
ls /dev/block
mmcblk0 mtdblock0 mtdblock2 mtdblock4
mmcblk0p1 mtdblock1 mtdblock3 mtdblock5
~ # mount /dev/block/mmcblk0p1 /sdcard
mount /dev/block/mmcblk0p1 /sdcard
~ # cd sdcard
cd sdcard
/sdcard # flash_image recovery recovery.img
flash_image recovery recovery.img
/sdcard # exit
exit

Once the stock recovery has been restored, you can download and install the OTA update as normal or continue the installation from your previous download to get recovery.img.

The super user app is still there, however, as expected root is lost. I don't think unrevoked (what I used) supports the hboot version 1.06 that comes with this update so don't expect to get root back.

There is a new wifi tethering app which doesn't show up in the app drawer under sense, however it's there in launcher pro and probably any other launcher besides sense.

Forgot to mention:

If for some reason the update won't install, you can reroot and reflash the clockwordmod recovery. I did this several times while trying to get the update installed. When I encountered problems, I would re-run unrevoked and start over.

superuser.apk

If you want to get rid of superuser.apk, do it before you install the update. Since this procedure doesn't turn security back on, I think that it can probably be done with an update.zip however I haven't figured out how to properly sign the updates yet. I've tried a few tools and a custom script to delete it, but I can't get past the signature verification with the stock recovery.