I can confirm the issue now. I remember that there was a bug report on it; a test shows that it is fixed with FPC 3.2. The FPC version 3.0.4 used by the Laz 2 series, however, shows the issue; older versions, 2.6.x, are fine again.
Unfortunately FPC 3.2 has not yet been released. In the meantime you can by-pass the issue by using a simpler format string: '#,##0.00' works also with FPC 3.0.x.
ShowMessage(FormatFloat('#,##0.00',18670.10));
P.S.
The placeholder '#' is not evaluated in the integer part, only in the fractional part. Therefore, it is sufficient to use ',0.00' - the comma indicates that thousand separators will have to be inserted when needed.
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FormatFloat(',0.##',18670.11234567890) + LineEnding +
FormatFloat(',0.##',189701232123.1212121) + Lineending +
FormatFloat(',0.##',18970)
);
end;