Mike Hall covered this in a recent Blog post here.
Given that Windows Embedded CE 6.0 introduces a third-generation kernel architecture, it's natural to wonder whether application binaries built for CE 5.0 will run on CE 6.0. Windows Embedded technical product manager Mike Hall has addressed this question in a recent blog post.
According to Mike, the majority of "well behaved" Windows CE 5.0 apps should just run in their unmodified binary form on CE 6.0.
There are two types of applications that run on CE: native, and managed. Native apps are assembled, compiled, and linked to run directly on the target processor; managed apps, on the other hand, are built against the .NET Compact Framework (.NET CF), and written either in C# or VB. Since managed apps are isolated from from the underlying operating system and hardware by the .NET CF, they should "just run," Native apps, however, could have problems if they use memory or API "tricks," or if they make use of deprecated APIs such as SetKMode or SetProcPermissions.
To help things along the embedded team is introducing a new command-line tool called CeAppCompat, which analyzes either a single application/DLL binary or a complete folder full of applications/DLLs, and produces an HTML report that identifies the binaries that might have a problem running in Windows CE 6.0.