I couldn't live with the slowness of flash cards or USB flash devices for neither data nor programs - even the fastest drives I've seen reach nowhere near harddrive speeds. And then there's the issue of the flash memory erase cycle count... I have absolutely no clue how many erase cycles today's "consumer grade" flash memory can handle, nor how fast you reach that with regular use... but I don't want to find out, either (theoretically
the cells should just go read-only, rather than losing content, but does anybody have experience with this?).
And then there's the issue of USB not necessarily being 100% stable. It's been quite a while since I've had any major issues with it, but I've had flukes here and there... and a girl_friend of mine got some pretty weird filesystem corruption happening. Yes, turning off disk caching for the drives help, but that makes them unbearably
Personally, I'd keep programs and data files on the HDD - possibly under TrueCrypt protection, whether container-, partition- or full-system style (for my own laptop, I have a container file with sensitive files, most other stuff on the laptop isn't super critical; I've considered doing full-system encryption anyway, though). You could couple that with some sync to either SDHC or USB-flash so you can use your portable setup and keep it, well, synced. Good idea doing that in addition to the online stuff, it's faster and you never know when their servers go crashing or you lose connectivity.