A couple of things to know that may help:
1) Most Windows Mobile apps being written nowadays are .NET Compact Framework apps (most .NET CF 3.5, a few still .NET CF 2.0 or even 1.0). Windows CE 4.2 .net supports .NET CF 3.5. Consequently, many of these apps will run nicely on a CE 4.2 .net device. (My Fujitsu Stylistic CT2020 carries plenty of evidence of this.)
2) Many programs that claim to be written for Windows Mobile 5 actually show an OS identifier of 04 00 14 (a hexadecimal string standing for 4.20) when viewed in a hexeditor. Consequently, there is a chance they'll work in CE 4.2 .net (though additional DLLs may be required).
3) Nearly all ARM programs written for H/PC Pro and H/PC 2000 will work fine in CE 4.2 .net, and most ARM programs written for Pocket PC 2000 and 2002 will work (again with a few DLLs added).