Преимущества Core Data в том, что это структура управления графами объектов, которая сохраняется в хранилище данных SQLite (или двоичного, или XML, или пользовательского). Таким образом, он управляет ошибками отдельных экземпляров объекта и двунаправленными (в том числе многим) отношениями между объектами (включая несколько вариантов распространения или запрета удалений на основе этих отношений), а также проверяет ограничения на свойства и отношения отдельных объектов (включая обязательные необязательно, количество элементов, диапазон и т. д.). В OS X 10.5 он также включает инструменты для полуавтоматической миграции хранилищ данных между схемами модели.
Недостатком, конечно, является то, что он не доступен на iPhone. Если FMDB отвечает вашим потребностям, вам будет гораздо проще управлять одной базой кода, а не двумя.
И последний вариант, если вам может потребоваться Leopard для вашего настольного приложения, это написать подкласс NSAtomicStore с использованием FMDB. NSAtomicStore должен будет считывать все хранилище в память - таким образом, вы потеряете некоторые преимущества SQLite на настольном клиенте - но поскольку данные будут передаваться на iPhone, я думаю, у вас не будет такого большого количества данных в любом случае. При таком подходе вы можете использовать Базовые данные на стороне клиента и FMDB на iPhone с общей моделью данных / хранилищем данных для обоих.