Actuallly, I don't think you are missing anything simple.
I have been doing work on a Wasp 3200 bar code device. I have to account for bar code input, key board input and sip input.
In addition, I have to move the user back and forth between fields on lost focus events where I encounter errors.
The primary spec. called for me to move the user around based upon hitting the enter key. That is relatively easy, but once you start adding error messages, on lost focus events and sometimes on key enter events, you start to get weird results.
The particularly application that gave me the most trouble has 29 fields laid out on one screen but on various panels that I expose or hide depending upon the runtime data entry.
I can get it to work perfectly when I create a windows executable, only to have it fail on the device side. Eventually, I used global error flags to keep track of where I was and how the application should respond.
My particular problems seem to be the result of timing that varies from the windows executable (where I do my initial testing) to the finished product on the device.
My conclusion is that it is entirely a Windows .Net problem. It has nothing to do with Basic4PPC (which I think is a wonderful development platform). My application ended working well, but with over 4,000 lines of code.
If you remember, Sun Micro Systems Java advertisements, "Write Once Run Anywhere" and if you ever tried to implement that on multiple platforms, you will know that the slogan was true only if you didn't care which window appeared first or how the various dialogs appeared. I think Microsoft is coming up against the same problem. They will never admit it. They will just leave developers to think they are missing "something really simple".
Good Luck.
Regards,
David
P.S. I really do love Basic4PPC. However, Erel still must work within the confines of .NET. Don't blame him or the product. Just bear in mind that Basic4PPC is years ahead of Microsoft's own Visual Studio products for hand held development.