It's probably trying to mount something that can't be mounted and hence it stays in a loop that you can only abort from via a battery pull.
Could you please check the recovery log and paste the output here? (see first post for more details on how to check the recovery log)
Will do - running a +ext backup now. Will edit this post with the forthcoming log.
Cheers,
Jeff
Edit: So, I did the +ext which terminated normally. Then I did a plain nandroid, which kept going. So I deleted the whole nandroid directory and tried the +ext again, which REALLY kept going. This is the log from that final attempt:
Starting recovery on Sun Oct 3 19:06:57 2010
can't open /dev/tty0: No such file or directory
framebuffer: fd 3 (320 x 480)
Build : RA-sapphire-v1.7.0G
I:Set boot command "boot-recovery"
Command: "/sbin/recovery"
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1
ro.build.id=CRB43
ro.build.display.id=CRB43
ro.build.version.incremental=148830
ro.build.version.sdk=3
ro.build.version.release=1.5
ro.build.date=Wed May 13 20:24:21 PDT 2009
ro.build.date.utc=1242271461
ro.build.type=user
ro.build.user=android-build
ro.build.host=apa6.mtv.corp.google.com
ro.build.tags=test-keys
ro.product.model=Google Ion
ro.product.brand=google_ion
ro.product.name=google_ion
ro.product.device=sapphire
ro.product.board=sapphire
ro.product.manufacturer=HTC
ro.product.locale.language=en
ro.product.locale.region=US
ro.board.platform=msm7k
ro.build.product=sapphire
ro.build.description=google_ion-user 1.5 CRB43 148830 adp,test-keys
ro.build.fingerprint=google_ion/google_ion/sapphire/sapphire:1.5/CRB43/148830:user/adp,test-keys
rild.libpath=/system/lib/libhtc_ril.so
wifi.interface=tiwlan0
wifi.supplicant_scan_interval=45
ro.sf.lcd_density=160
ro.config.notification_sound=F1_New_SMS.ogg
ro.com.google.locationfeatures=1
ro.com.android.wifi-watchlist=GoogleGuest
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=true
ro.com.google.clientidbase=google
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.setupwizard.mode=OPTIONAL
ro.url.legal=http://www.google.com/intl/%s/mobile/android/android-dev-phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/android-dev-phone-privacy.html
keyguard.no_require_sim=true
ro.config.sync=yes
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.modversion=RA-sapphire-v1.7.0G
ro.factorytest=0
ro.serialno=SH96LP301002
ro.bootmode=recovery_manual
ro.baseband=2.22.19.26I
ro.carrier=TMUS
ro.bootloader=1.33.2005
ro.hardware=sapphire
ro.revision=128
init.svc.recovery=running
init.svc.adbd=running
I:Set boot command ""
Enabling USB-MS : .USB Mass Storage enabled
USB-MS enabled!
Press HOME to disable,
and return to menu
Disabling USB-MS : .USB Mass Storage disabled
USB-MS disabled!
I:Set boot command ""
I:Set boot command ""
Move recovery.log to SD
Press HOME to confirm,
any other key to abort.
Moving : .
***********************