CompareText vergleicht bitgenau Byte-/Char-weise und beachtet keine Codepages.
Nimm AnsiCompareText, das ist unter D2007-
ANSI und seit D2009+ ist das
Unicode (auch wenn es nicht so klingt).
Aber blos kein WideCompareText verwenden, denn das ist WideString (war es schon vor D2009) und somit sehr bremsend, wenn der UnicodeString/String erst umkodiert werden muß.

(es sei denn,man nutzt WideStrings, dann ist es genau andersrum)
AnsiCompareText/WideCompareText =
WinAPI
CompareText = delphieigener Assemblervergleich.
Ein Therapeut entspricht 1024 Gigapeut.