フラグとして持たせるのではなくて、最終更新日時を持たせる場合
時刻 >= 更新時刻 and (時刻 - 最終更新日時) > 適当な時間
なら更新する

適当な時間というのがどうしても登場して、
これが結局、更新時刻から適当な時間が過ぎたらフラグをリセットするのと意味的には変わらない