Hola (MAJ).
La verdad es, que de tu mensaje no me queda claro como es la situación ya que no llamas al evento sino que lo asignas. Pero en líneas generales no tendría que darte error.
Por ejemplo este código funciona correctamente:
Código Delphi
[-]
...
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure WebBroserCompleto(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
public
end;
var
Form1: TForm1;
implementation {$R *.dfm}
uses SHDocVw;
procedure TForm1.WebBroserCompleto(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
ShowMessage('Documento completo');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
WB: TWebBrowser;
begin
WB := TWebBrowser.Create(Self);
WB.OnDocumentComplete := WebBroserCompleto;
WB.ParentWindow := Handle;
WB.Navigate('www.ClubDelphi.com');
end;
Saludos