An architecture I've used for many Windows-Mobile-clients-to-central-server applications is to mediate all client-to-central-database communications through a .Net web service application. Generally, the web service has methods that get data from the database and return it in a DataSet. The client app works with this DataSet (displaying and adding, updating and/or deleting records) and then passes the modified DataSet back to a web service method that persists any changes back into the main database (the DataSet has many convenient built-in methods that make this easy, like GetChanges(), for example).
If the client app does not have regular connectivity to the web service, it's relatively easy to also enable persisting of the data in a local database (SqlCE is an excellent choice for this), although your client app will be significantly simpler if you don't have to do this. Either way, it's very handy to design your central database to use GUIDs (aka uniqueidentifier in SQL Server) as primary keys, and create the keys on the client side whenever new data is added.
Having the changes submitted from one client sent automagically to all the other clients is a more difficult situation. The best way to do this is really dependent upon what kind of connectivity your WinCE devices have with the web service. If the devices are essentially always connected, you can have each device essentially "register" themselves with a web service method whenever they start, and the web service then maintains a static list of registered client instances. Whenever changes come in from one client, the web service can "push" these changes out to each registered client.
If the devices are only connected intermittently (like in every app of this type I've ever written), it's best to stick with the polling concept, and have each client app "check in" with the web service (every minute or every 30 seconds or whatever) and update itself with any pending changes. In practice, this approach is nearly indistinguishable from a "push" architecture anyway, and is easier to implement and more reliable in practice.