Because everything is kept in its folder, I assumed Circle Dock might be somewhat portable (despite needing .Net).
So I tried it with my USB and it was . Haven't tested it at different drive letters, but assume it will always need to be at the same letter to work; or is it self-referential?
The original version of Circle Dock (0.9.0/0.9.1) already had the ability to run off a USB key because it would execute things based on it's root drive if it couldn't find them at the normal file paths.
Circle Dock 0.9.2 Alpha 8 should have this portability mode finished (I haven't gotten to it yet) and you would be able to enable it from the settings panel. Right now, Circle Dock 0.9.2 Alpha 7.X will run off a USB key and will execute the files/folders you have placed on the dock. It would work like if you had it on your hard drive.
However, I assume you would want to put files on the USB key and have Circle Dock reference them even when the drive letter changes. This won't work yet and is the part I need to finish coding but it shouldn't be that hard to do it.
As for needing .Net, all Windows Vista computers already have the version of .Net needed to run Circle Dock and most Windows XP computers have it if they use Windows Update and install the recommended software. I think this people should upgrade to Vista