OK, I spent some time looking at this today. mmcblk0 (i.e internal memory) does not appear either in /dev or /dev/block when the device is booted from a sda device or when switching to the tempfs that is created when the boot process goes looking for an ext2 partition to work with. (You get to the tempfs by adding DEBUG=1 to the kernel cmdline in grub and pressing Alt+2 or Alt+3 when it searches for a partition).
When in debug mode running
brings up block devices, including some labelled 'sd'... I think that we're getting this behaviour either because:
i) The SD 'auto-mount' feature is cacking things up. (Would still have to appear in /dev though?)
or
ii) The kernel hasn't been compiled correctly. We don't have the kernel config though, so there's no real way to tell for sure. My best guess is that something that needed to have been compiled in to the kernel either wasn't or was set to be compiled as a module. There don't seem to be any kernel modules in this release (perhaps this is standard for android?).
I've run out of time now, but it would be great if someone could take up the slack! I am pleased with the performance via usb and I'd like to ditch the stick asap!