Some general thoughts:
It sounds like you're thinking of a two-way sync, with no master. Irrespective of the technologies used, two-way sync is an order of magnitude more complex to implement effectively than either one one-way sync, or two one-way syncs with clearly defined masters
for each dataset. In my experience you need very good reasons for deciding on an architecture that requires a two-way sync, and there is no simple technical solution. Why do you want to implement CRM whislt still keeping the existing system - if you can identify
clear benefits to implementing CRM, then why keep the existing system ?
Rather than writing code to do the sync, I'd go with a technology like SSIS or Scribe. This should mean that most changes to the sync (e.g. adding new fields) can be done via configuration, rather than having to rewrite code
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk