Извиняюсь, что не оправдал Ваши ожидание.

А что, если попробовать написать
DbfRecords.Fields().Item('XVAL').Value := TABLE.XVAL * 1 000 000;
Если все знаки перейдут тогда можно попробовать потом полученную сумму обратно на миллион поделить.
Опять конечно ерунду написал, но вдруг поможет