Duane, I have a question about the single widget. Is it possible for you to set it to timeout automatically?
Expanding on the "Mixing local widgets into a channel" topic in the wiki, I found that I could add profile.xml to the /mnt/storage directory on my Chumby, along with storing copies of my two most used widgets there. Then, when I reload the channel, I get my widgets in the channel.
I can force the channel to cycle, by starting with the second widget. It will then move on to widget three. After that, go back to the "official" widget and, of course, get stuck there.
Obviously, I don't know enough to know what would happen to your server load and your code if you forced your widget to timeout after a minute or two, so the next widget would be displayed (if there was one either on the Chumby or on a USB drive). Or, if there was just the single widget, it would stay there, I assume. But, if it could be done without increasing your overhead, that would really be nice...