Ну как-бы такого не может быть, но оно есть
Попробую погадать, тип поля для FIO какой задан? Если строка, то длина какая? Дельфи какая версия? Может это юникод такое выкаблучивает?
Попробуйте для эксперимента писать не напрямую в Таблица.FieldByNAme('FIO').asstring, а в переменную, а уже потом в FIO. Неплохо-бы точку останова в вызове этого события сделать и посмотреть, что реально собирается в FIO.