Так и должно быть, ибо нефиг. ASCII -- американская кодировка, буковка "A" как бы намекает. Кириллицы в ней нет.
Выкинь нахрен весь этот быдлокод и сохраняй как мужик:
Код:
begin
str.SaveToFile('test.txt', TEncoding.OEM); // для консоли и DOS
str.SaveToFile('test.txt', TEncoding.ANSI); // для всего остального
end;