Длина не учитывает ширину символов, которая будет варьироваться в зависимости от настроек шрифта.
// Assumes the AutoSize property is true.
// Note: 8 is added as spacing
DataText.Left := LastDataText.Left + LastDataText.Width + 8;
Если вы загружаете данные из DataSet, обратите внимание на свойство DisplayWidth класса TField.
// calculate the width of the last field.
TextWidth := DataSet.Fields[0].DisplayWidth * QuickReport.Canvas.TextWidth('M');
DataText.Left := LastDataText.Left + TextWidth;