Is Branch Cache worth considering as a replacement for DFS-R
Solution 1:
It sounds like BranchCache may be a good fit for you, though you may also benefit from some performance improvements in DFS-R made in Server 2008 and Server 2008 R2.
There have been some case studies written about BranchCache that may tell you more about BranchCache performance in the real world. Just search for "BranchCache case study".
BranchCache is careful to always honor the most current access control settings on any piece of content (file, web page ...). Before a client pc can download data from the cache in the branch office (either on a hosted cache server or on a peer) it must obtain content identifiers from the main office server. If the client doesn't have permission to access the data, the main office server won't send the identifiers. There are a bunch of documents explaining how this works on branchcache.com.
If you want, you can pre-load the BranchCache cache by having one of the clients in the branch (or the actual hosted cache server) access data ahead of time. This might be scriptable in some cases if you want to preload the cache before workers get in.
If you're going to keep a server in the branch, and you're going to upgrade to R2, there's no reason why you can't deploy a combination of BranchCache and DFS-R. A single box can act as a DFS-R replication point and as a hosted cache server simultaneously. You can get sharepoint and SMB optimization this way, and by spreading your data across the two technologies, you can get the best properties of each for your various categories of data.
I hope this helps! -Tyler