Еще одной важной проблемой при использовании WebBrowser 'а является настройка Proxy. Это и понятно поскольку смена ip необходима в каждом авторегере а иногда и граббере.
В сети информации крайне мало:
1 вариант который есть это вам предложат изменять через реестр настройки IE
2 вариант изменять так же настройки IE но динамически.
Как результат у вас всегда будут сбитыми настройки експлоера (сложно проследить что изменения были обращены)
Я вам предлогаю динамическую настройку прокси в webbrowser без изменения настроек системы как таковых.

Код:
uses 
...
urlmon, wininet

...
procedure TForm1.Button1Click(Sender: TObject);
var
  PIInfo: PInternetProxyInfo;
begin
  New(PIInfo);
  PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
  PIInfo^.lpszProxy := PChar('Здесь именно прокси сервер в формате "ip:port"');
  PIInfo^.lpszProxyBypass := PChar('');
    UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
    SizeOf(Internet_Proxy_Info), 0);

далее мы создаем действия программы, у меня это будет заход на сайт с целью проверки ip:

Код:
Webbrowser1.Navigate('http://2ip.ru/');

и уничтожение класса с целью вернуть настройки на стандарт:

Код:
    Dispose(PIInfo);
end;

Получается следующая штука( не забываем кинуть на форму webbrowser и кнопочку Button):

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  PIInfo: PInternetProxyInfo;
begin
  New(PIInfo);
  PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
  PIInfo^.lpszProxy := PChar('Здесь именно прокси сервер в формате "ip:port"');
  PIInfo^.lpszProxyBypass := PChar('');
    UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
    SizeOf(Internet_Proxy_Info), 0);
Webbrowser1.Navigate('http://2ip.ru/');
    Dispose(PIInfo);
end;

В завершение хотелось бы сказать что прокси проще задавать из Edit'а. Просто кидаем Edit1 на форму и изменяем строчку:

Код:
PIInfo^.lpszProxy := PChar('Здесь именно прокси сервер в формате "ip:port"');

на эту:

Код:
  PIInfo^.lpszProxy := PChar(Edit1.Text);