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.