Você pode incluir uma instrução CASE em sua consulta de atualização que definirá o campo de data condicionalmente, assim:
UPDATE MyTable
SET textfield = @newValue,
datefield = (CASE WHEN textfield <> @newValue THEN NOW() ELSE datefield END);
Esta consulta "define" o
datefield para o mesmo valor que já contém se o valor de textfield não foi alterado.