Nö, das geht auch ohne Copy und Pos:
Du hast eine Stelle, an der Du momentan unter einer gewissen Bedingung Number hochzählst. Dort kannst Du das Zeichen, das zum Hochzählen führt, auch an einen String dranhängen. Damit wird ein String dann jeweils solange um eine Ziffer verlängert, wie auch Number hochgezählt wird.
Ist ein Zeichen keine Ziffer, speicherst Du Number in LongNum. Dort kannst Du analog auch einen String in 'ner weiteren Variabel speichern.
Am Ende gibst Du dann statt Number den dann längsten String zurück.
Du brauchst also nur zwei Stringvariabeln zusätzlich. Der Rest ist nur eine marginale Änderung der bisherigen Funktion. Zusätzliche Abfragen, zu den bisher implementierten, sind dazu nicht nötig.
Nur der intelligente Einsatz zusätzlicher begin und end sowie der Zuweisung zu Stringvariabeln. Die Funktion dürfte dadurch um grob ein Dutzend Zeilen länger werden