how often to run Tablediff
tablediff is not designed to be used as a real-time synchronization tool (it seems this is your goal). If you really need real-time sync, there's database mirroring. The primary server sends its transaction logs to the secondary, which then replays the transaction logs - so the databases are synchronized
Check out MSDN for more info Database Mirroring (SQL Server)