With all the interest in this topic, I have added it as a category. I have put all the blog entries about this topic in this category. In addition, I have added some that are related to kiosk or shell development and/or provisioning.
If you want to build a single purpose device using CE or WM you have a couple of choices. If you are using CE you can build and incorporate your own shell replacement. What if you are using WM? In this case you have two choices: