Writing programs for smart devices are the same as writing programs for any desktop application in VB. The only difference is that you have to download the SDK for the OS (Windows mobile 5,6 Professional , Standard etc..) which can be got from the microsoft site. another important thing is that you have to use SQL CE 3.5 for obvious reasons. The main disadvantage of developing Compact edition programs is that your toolbox will be pretty much empty which means that the compact framework doesnt conatin most of the predefined classes. Which means that you cannot use things like an editable grid etc. Probably you can just use the normal grid which is not editable. There are a lot of limitations when it comes to developing applications for smart devices. I just finished a project for my company. It was a smart phone based Data entry survey system with over 1000 forms. Luckily there are 3rd patry companies that develop components for VS 2008. A company that develops components for Compact Framework is RESCO. www.resco.net/developer
they literally saved my life when it came to this project.
A lot of information can be found on the microsoft msdn site on mobile application development for the compact framework.