Me pasa igual.
Desde que uso WindowState. Para restaurar y que se va de nuevo tengo:
Código Delphi
[-]
procedure Tform1.Restaurar;
begin
Application.mainform.visible:=true;
TrayIcon1.Visible:=true;
Form1.WindowState:=wsNormal;
end;
No he probado a poner no visible TrayIcon, pero creo que no es de eso.