Hola astrosnik.
¿ Y Form2 ya fué creado cuando lo invocas en Form5 ?
Para salir de dudas, proba si de este modo desaparece el error:
Código Delphi
[-]
implementation
uses
unit2;
procedure tform5.datos(sender: TObject);
begin
if Assigned(Form2) then
form2.Edit2.Text:=adoquery1.fieldbyname('perro').Asstring;
end;
Saludos.