My requirements are:
To the OP:
The one word of warning I will give you on the Sync framework front is upgrading a database schema throughout the versions. I'm using it on a project that I'm developing now, and am starting the "2.0" specification, which I've decided to remove it for various reasons.
I would greatly suggest you take the time to thing through the idea of how you wish to handle schema changes as you progress, and decide if this is the way that you want to go. For me, it was to get the system up and running, but now that I'm dealing with the nightmare, I'm falling victim to the NIH scenario.
My outlook for 2.0 is to continue to use SqlCE for the clients, and SQL Server 2008 for the COR... but to roll my own Sync Fx based on heavy usage of reflection and a set of "DTO" objects.