how to protect my WinCE & WinMobile programs?
No correct solution
Copy protection is difficult. Even more difficult in the CE world where often devices don't have any unique identifier and the clock cannot be counted on. What it boils down to is how much work do you want to put into it and how much do you want to support it? the more complex you make it, the harder it is to subvert, but the more it costs you to develop and maintain.
Generally speaking we've abandoned all attempts at protection except for obfuscation. Trying to use license files, registration, etc. sucked up a lot of development time and seemed to do nothing but skyrocket the support queries we got. We concluded that our estimated loss due to piracy was less than the cost to develop and support a copy protection scheme.
I know of no free licensing tools that have CF support and Microsoft doesn't have any of the licensing class infrastructure in the CF.
If you want to roll your own, you might look at Alex Yakhnin's post about using the SDF to do license generation.