I believe that the O2 OS kernel is not built with the appropriate support for booting from USB. Can't replace the kernel because we can't recompile some of the modules on which other components rely (no source code).
Your best bet would be to investigate chainloading with GRUB, but bootloaders are definitely not my specialist topic and there is a distinct possibility I'm talking rubbish there. In fact, I think I well may be - if GRUB triggered loading of the O2 OS, it would still need to support accessing the device on which it was held, which I believe it wouldn't be able to do.
I have had the O2 UI running without its underlying OS using a modified version of BuZz's script from
this thread (in fact, it was verg0 who started that one!). The problem is that lots of apps simply stop working; including many components of the Settings app, so configuration becomes a command-line job. It was then that I had to question what the point of doing it was - I had a system that was essentially a launcher with very few working apps, that was tricky to configure and had everything written in Flash. Nasty.
Less work to recreate the whole thing in HTML & CSS and run a kiosk browser. In fact, a bit of that is already done with the
Little App Launcher, which gives a lookalike web interface.