Das Problem ist, dass du hast:
Delphi-Quellcode:
function ToString(const ToStrFunc: TToStringFunc): String; overload;
{…}
function ToString(const Separator: String): String; overload;
Der Rückgabewert von IntToStr ist String; deshalb nimmt der Compiler an, dass du die 2. Variante meinst, und bemerkt dann, dass ein Parameter fehlt.