Ist in dem String vielleicht am Ende ein Leerzeichen? Das mag
MySQL nämlich nicht (bzw. wird beim Insert abgeschnitten aber beim Vergleich berücksichtigt).
Nachtrag:
Oder ist der String vielleicht zu lang für das Feld, so dass er beim Insert abgeschnitten wird?