Se "MyString" sempre ocorrer como o primeiro termo no campo, isso funcionaria:
update MyTable set MyField = replace(MyField, ' MyString','')
O ponto chave acima é que procuramos as ocorrências de "MyString" com um espaço à esquerda, então a primeira ocorrência no início do campo será ignorada.
No entanto, meu palpite é que isso pode ser muito frágil - e se a primeira ocorrência de "MyString" não estiver no início do campo?
neste último caso, você precisa do seguinte:
UPDATE
MyTable
SET
MyField =
CONCAT(
LEFT(MyField,INSTR(MyField,'MyString') + LENGTH('MyString')),
REPLACE(RIGHT(MyField, LENGTH(MyField) - (INSTR(MyField,'MyString') + LENGTH('MyString'))), 'MyString','')
)
O que isso faz é dividir o campo em dois, a primeira parte até e incluindo a primeira ocorrência de "MyString", e a segunda parte substituindo todas as outras ocorrências dele.