As stated above, it's not an easy problem...
Accept it as a given that anyone can restore their hard drive to a previous state (if they spend the time, money, and accept the risks in doing so). So a user can restore an old game, from before some action (like giving an item) has occured. Once the item is traded, the previous save game is ...