The campaign file is not intended to be updated if the player quits the mission without actually making progress in the campaign. Variables managed by the player are updated without regard to which campaign is being played or whether progress is being made, but variables managed by the campaign are only updated when the campaign advances.
Is this use case (variable is managed by the campaign but updated regardless of whether the campaign makes progress) actually necessary? Because none of the other campaign-managed data (events, goals, score, kills, etc.) works that way.