Пользователю доверять нельзя, причем от слова "совсем".
Абсолютно все, что происходит на стороне клиента можно подделать.
UPD:
Результаты действий в оффлайне можно как-то попробовать учитывать в виде анализа полного лога действий пользователя, в соответствии с которым будет происходить расчет результатов на сервере, с дополнительной проверкой, что такие действия можно честно выполнить.
И естественно нельзя принимать от клиента какие-то готовые результаты.
UPD2:
Если действительно реализовывать схему с пересчетом на сервере результатов по логу пользователя, то может возникнуть проблема даже для нормальных пользователей, когда после синхронизации настоящий результат будет оказываться отличным от того. что было насчитано в онлайне. И если он будет отличаться не в пользу игрока, то может быть нехилое бурление.
Так что такой вариант действительно можно рассматривать как крайний. Лучше всего, конечно же, полный расчет на сервере и клиент в онлайне.