Bin mir relativ sicher, dass SetLength nichts tut wenn die Länge des Arrays/Strings schon gleich der geforderten Länge ist.
Aber eine Garantie/Quelle habe ich nicht.
Es tut schon so Einiges, insbesondere in Bezug auf Referenzzählung und Thread-Sicherheit - selbst wenn am Ende dann doch alles beim Alten bleibt.