Te propongo esta solución:
Código Delphi
[-]function Splitz(S: String; Ind: integer; C: CHAR): String;
var
I, F, N: integer;
begin
I:= 1;
F:= 1;
N:= Length(S);
while Ind>0 do
begin
while(I<=N) and (S[i]<>C) do inc(I);
inc(I); dec(Ind);
end;
F:= I;
while(F<=N) and (S[F]<>C) do inc(F);
Result:= Copy(S, I, F-I);
end;
Ejemplo:
Código Delphi
[-]Edit1.Text:= Splitz('Cadena de texto;;con separadores; y uso de; splitz', 2, ';');
Saludos.