Fatto 
Non so se è la soluzione più conveniente ma di sicuro è funzionante:
	codice:
	function NextIp(ip: string): string;
var
  a  : TStrings;
  i  : integer;
  buf: string;
begin
  a := TStringList.Create;
  buf := '';
  for i:=1 to Length(ip) do
    begin
      if (ip[i] <> '.') then
        buf := buf+ip[i]
      else
        begin
          a.Add(buf);
          buf := '';
        end;
    end;
  a.Add(buf);
  for i:=3 downto 0 do
    begin
      if a[i] = '255' then
        a[i] := '0'
      else
        begin
          a[i] := IntToStr(StrToInt(a[i])+1);
          Break;
        end;
    end;
  Result := a[0]+'.'+a[1]+'.'+a[2]+'.'+a[3];
  FreeAndNil(a);
end;
 
Basta ciclare questa funzione per quanti sono gli ip della subnet e si ottiene la lista  