Seen this over at alldroid. I take no credit. Thanks goes to Speeddymon @ alldroid
*** UPDATED 01-08-2010 ***
Tested and works!
Safe for 2.1, thanks to http://www.sholes.info!
Idiot's guide to getting back to stock:
Plug your phone into the computer and mount your sdcard so you can see it in your Operating System on the computer (turn on USB storage).
Download droidbr.zip (mirror 1) (mirror 2) and unzip it. Copy the boot.img and recovery.img to your sdcard.
Download virginoem-backup.zip (mirror 1) (mirror 2) and unzip it. Copy the virginoem-backup folder to the nandroid folder on the sdcard.
Safely remove the card from your Operating System (Right click on the drive and hit Eject for you Windows users)
Turn off USB storage on the phone now
Reboot into recovery
Pick Backup/Restore > Advanced Nandroid Restore > Backup
Select the virginoem-backup
Your screen will jump back to the previosu screen, but you should now see virginoem-backup as such:
Choose an option or press POWER to return
Select Perform restore
When it's finished, select Reboot system now.
At this point the phone should be running 2.0.1 and you should have to sign in.
Open terminal or an ADB shell(don't forget to have USB debugging enabled)
Copy and paste the following if using an ADB shell, or type it all in if using a terminal emulator on the phone:
(if using adb shell, don't forget to put phone in USB debugging mode)
flash_image recovery /sdcard/recovery.img
flash_image boot /sdcard/boot.img
Reboot into recovery (press x on the physical k/b + power button) and verify that you have to press Vol+ and Camera at the /!\ screen, to be able to get to the menu.
If the nandroid recovery menu comes up, you'll need to try the above steps again.
If it is the stock recovery, reboot
Once you are back in the OS, you still have root and busybox installed, because the nandroid backup you restored has those.
So the next step is to either open a terminal on the phone or go into ADB shell and run the following commands:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
mv /system/recovery-from-boot.old /system/recovery-from-boot.p
From there you still have su left, and you have 2 options for getting rid of it.
A) Since you are already root, just run rm /system/bin/su .. I personally don't like this option because the phone by default has a su binary that just doesnt allow you access.
After you do the above do this:
mount -o remount,ro -t yaffs2 /dev/block/mtdblock4 /system
B)- (prefered method)
Download the official 2.0.1 update, which will replace the 2.0.1 su binary.
Rename it to update.zip
Copy it to sdcard
Reboot phone in to recovery(hold x + power button), at the /!\ hold the volume+ and camera button.
Select apply sdcard:update.zip, you might see an error but it should complete.
Reboot when finished.
Once you are done with all of that you are back at a stock image.
To test if su is gone, download Android Terminal Emulator and do an su, you should get a permission denied response.
If you want to take an extra step, which isn't really needed, do a factory reset.
Now go download at least a couple of the apps you use so your phone looks like it's actually been used..