I talked to Charles last night about this at hacker camp - here is my write up.
I've done a proof of concept design for sharing an SD card between a USB mass storage chip and an atmel cpu. The basic concept is that the arduino gets to decide when to hand the card off, allowing it to close all the files first (and potentially log to ram for a short period).
It goes a little like this.
CPU is merrily writing to SD card using SPI mode and running from battery.
CPU detects usb cable insertion
CPU closes all files and shuts down the SPI controller
CPU tristates/disables its SPI outputs
CPU enables the connection to the USB SD chip
CPU power cycles the SD card (only way to jump it out of spi mode as per spec)
CPU asserts the card present pin on the USB SD chip
USB SD chip makes the card visible as a mass storage device
(and the reverse process once the USB is removed).
Since the T400 charges via usb and might want to run long term via usb it might be necessary to have a menu option to suppress the switchover.
My design also uses a USB hub chip and an ftdi usb serial chip.
Most of the design is tested in silicon. I haven't had time to verify the spi access but it should work. There are a few minor issues with stuff wired to the wrong supply but nothing insurmountable.
Will upload schematic once I loose my new user status.