This is an old topic. But is it?
In this time of data marshalling via remoting and XML webservices, timestamps are more important than ever.
Much of what is growing in popularity are the concepts of Smart Clients. However, depending on the nature of the data being manipulated, smart client users may want to minimize data download wait times.
Solution, down send the whole data, but keep track of the data posting and login/out times of the users. Then any data changed durring logout state, cand be filtered and published into a delta record.
Note, you have to record adds, deletes, and changes. Many people only record one or two. Common mistake.
Let push this up one more step…
While the user is working, why not have a background process that polls for changes, and brings down those deltas. If you work in a distributed environment with users outside of the network, then this will reduce the first hit when the user launches the program.
There are plenty of ways to do this. Get creative, but be consistent. There is nothing worst to troubleshoot than a smart client that uses more than one delta engine to bring data down.