почему-то...
Причем здесь юникод и где он? В дельфи в частности.
Вы определяете shortString (string[250]) в записи вашего поля, вы ожидаете что в этой строке будет в дельфах уникод? Байтовая кодировка cp1251 там будет*, из-за скрытого преобразования кодовых страниц. В лазарусе в такой же переменной получится UTF-8, если механизм преобразования кодовых страниц неактивен (fpc 2.6.x)
Теорию то почитайте, не зря переводилось:
http://wiki.freepascal.org/LCL_Unicode_Support/ruhttp://wiki.freepascal.org/FPC_Unicode_support/ruи ту же тематику про delphi
*хотя, могу допустить, что в версиях дельфа, у которых String=UnicodeString и AnsiString=UnicodeString, а также char=UnicodeChar в вашей строке действительно будет 250 двубайтных знаков UTF-16 - но и тем более в этом случае не стоит ждать совместимости.