Pseudo-Code -- aber eigentlich ist das genau das, was ich oben schon mit Worten erklärt habe -- wie Du auf Deinen Ansatz kommst, ist mir tatsächlich ein Rätsel:
Delphi-Quellcode:
MaxBreite := ...; // Von Dir zu ermitteln bzw. zu belegen
while (Label1.Canvas.TextWidth(DeinText) > MaxBreite) and (Label1.Font.Size > 2) do
Label1.Font.Size := Label1.Font.Size - 1;
Viele Grüße