There will be a central server, and then numerous clients at remote locations running MSDE, guess I should have been clear about that from the beginning .
I remember now MSDE doesn't do transactional replication.
I'm inclined to just roll my own replication scheme. My main concern going from server to clients is just to push out new values in lookup tables. I'm thinking about capturing the SQL that LLBLGen outputs and sticking that into a message in an MSMQ queue. Could maybe handle minor schema changes that way, too.
Going the other way, clients mainly need to push up everything associated with a certain project. Might just brute force that one with remoting. User chooses to upload project, I load up the entity with all related entities, send to server, and when it gets there my server code just deletes it if it exists in the server db, and inserts everything.