Лично я считаю метод ОБНОВЛЕНИЯ лучшим.Вместо того, чтобы сначала выполнить SELECT, чтобы проверить, существует ли уже запись, вы можете сначала попытаться выполнить ОБНОВЛЕНИЕ, но если строки не затронуты (используя @@ ROWCOUNT), вы можете сделать INSERT.
Причина в том, чторано или поздно вам может понадобиться отслеживать изменения статуса, и лучший способ сделать это - сохранить контрольный журнал обо всех изменениях, используя триггер в таблице состояния.