Я там в спешке забыл про второй аргумент у LeftStr. Он имеется в виду равный единице.
Добавлено спустя 9 часов 6 минут 18 секунд:...отредактировать свое сообщение уже не дает

ну ладно.
Тут фишки вот в чем:
1) В модуле sysutils есть ф-ция LeftStr, работающая с AnsiString, а в модуле strutils - она же для WideString. Если не подключить strutils, то все молча скомпилируется со вставкой неявного преобразования wide->ansi, и результат будет неправильным. На линуксе. А на винде - правильным, потому что в ней системная кодировка однобайтовая (!!!).
2) Иногда компилятор не совсем понимает, какую из перегруженных ф-ций вызывать (см. багрепорт 11327). В этом случае иногда помогает внушение в виде явного указания типа аргумента, отсюда и widechar('Х').
Вот потому и катавасия - вызвав одну-единственную ф-цию, нужно лезть проверять на разных системах, да еще и в ассемблерный код желательно заглянуть (и utf-8 тут как бы ни при чем, за исключением того, что это системная кодировка в линуксе).
Добавлено спустя 2 минуты 43 секунды:...оказывается, предыдущее сообщение таки редактируется. Шайтан, однако...