Если это должно быть сделано в автономном режиме, то я бы обычно использовал что-то вроде:
- хранение минимального количества необходимых данных в изолированном виде с использованием специальной базы данных WP7, такой как Sterling
- с использованием либо нового REST, либо нового сервиса RIA / WCF с объектами / функциями, которые вы определили для обеспечения необходимой синхронизации данных
Я думаю, что это ваш вариант 3?
Мне никогда не нравилась автоматическая синхронизация данных. Я просто нахожу, что проще кодировать синхронизацию и самостоятельно разбираться со случаями ошибок - это особенно верно, если ваше клиентское приложение wp7 использует довольно небольшой объем данных по сравнению с большей базой данных главного сервера.