Se você tiver pelo menos uma data pra identificar qual foi o último valor inserido, você pode usá-la para fazer a busca. Simulei seu ambiente assim:
CREATE TABLE #Conhecimento
(nome_filial CHAR(3),
conhecimento INT,
data_gerado DATETIME);
GO
INSERT INTO #Conhecimento VALUES ('SPA',1,'2012-04-10');
INSERT INTO #Conhecimento VALUES ('SPA',1,'2012-04-11');
INSERT INTO #Conhecimento VALUES ('SAL',1,'2012-04-11');
INSERT INTO #Conhecimento VALUES ('RJS',1,'2012-04-11');
DECLARE @nome_filial CHAR(3) = 'SPA'
UPDATE #Conhecimento SET conhecimento = conhecimento + 1
WHERE CAST(data_gerado AS VARCHAR(10))+nome_filial IN
(SELECT TOP 1 CAST(data_gerado AS VARCHAR(10))+nome_filial FROM #Conhecimento WHERE nome_filial = @nome_filial
ORDER BY data_gerado DESC)
SELECT*FROM #Conhecimento