если добавилась всего-навсего парочка новых квестов и десяток новых шмоток - то почему бы и нет?
Потому что сам движок должен быть построен так, чтобы игра умела адаптироваться под изменения. На уровне модульной системы решить подобное будет очень проблематично (если вообще возможно). А уж тем более копаться в коде сохранок.
Простой пример: в патче был удален из игры какой-то предмет, который был у игрока в инвентаре.
Если движок неадаптивен, он истерично заорет "object not found", выдаст гору ошибок и выкинет на рабочий стол.
Если движок адаптивен, то при считывании сохранки и обнаружении несуществующего объекта он пожмет плечами, молча пропустит этот объект и продолжит загрузку.
Да и сама система сохранок должна быть изначально продумана таким образом, чтобы быть максимально динамичной. Например, список переменных игры можно забивать в сохранку 1 раз при начале игры, а при загрузки сохранок считывать его (негибкий вариант, ибо если будут добавлены новые переменные, а игра не найдет их в сохранке, будет вылет), либо можно считывать список с самой игры, после чего считывать имеющиеся в сохранке значения (тех переменных, с которыми игрок уже столкнулся), а все остальное ставить на 0.
Если всего этого нет, то, грубо говоря, импортер сохранок либо должен прописываться вручную для каждого патча в соответствии с чейнджлогом (добавить в сохранку ту переменную, убрать эту, заменить то-то, то-то и то-то и т.д.), либо нужно писать алгоритм, который будет сравнивать модульки 2ух версий игры и по обнаруженным результатам обновлять сохранки. Но это уже вообще что-то запредельное.