Hi
We've got the synchronization functionality ready for testing.  Please e-mail 
support@enterprisedt.com so that we can give you download instructions.
Instead of creating a new component called 
FTPSynchronizer we decided to add 
Synchronize methods to 
ExFTPConnection.  
ExFTPConnection now has a property called 
DefaultSyncRules of type 
FTPSyncRules, which is used by the 
Synchronize methods that don't take an argument of this type.
These are the new methods in 
ExFTPConnection (and 
SecureFTPConnection):
void Synchronize()
void Synchronize(string localDirectory, string serverDirectory)
void Synchronize(FTPSyncRules syncRules)
void Synchronize(FTPSyncRules syncRules, string localDirectory, string serverDirectory)
IAsyncResult BeginSynchronize(AsyncCallback callback, object state)
IAsyncResult BeginSynchronize(string localDirectory, string serverDirectory, AsyncCallback callback, object state)
IAsyncResult BeginSynchronize(FTPSyncRules syncRules, AsyncCallback callback, object state)
IAsyncResult BeginSynchronize(FTPSyncRules syncRules, string localDirectory, string serverDirectory, AsyncCallback callback, object state)
void EndSynchronize(IAsyncResult asyncResult)
FTPSyncRules has the following methods:
TransferDirection Direction
bool ExcludeFilesInFilter
FTPFilterType FilterType
string FileNameFilter
bool IgnoreDate
bool TransferNewOnly
bool TransferMatchingOnly
bool DeleteIfSourceAbsent
bool SyncLocalDateAfterDownload
bool IncludeSubdirectories
Most of these are also available in 
FTPSynchronizeView so you can find explanations of them there.
There is also a new event called 
SynchronizingFile, which can be used to implement your own logic if that provided by 
FTPSyncRules is not sufficient.
- Hans (EnterpriseDT)