El problema es que aunque actives el timer la aplicacion se cierra sin esperar a que ocurra el primer evento del timer.
Prueba con esto:
Código:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: integer;
begin
AlphaBlend:=true;
UpdateWindow(Handle);
for i:= 50 downto 10 do
begin
AlphaBlendValue:= 5*i;
Sleep(50);
end;
end;
O prueba con este otro que va haciendo mas pequeño el formulario hasta que desaparece. Hay un monton de posibilidades
Código:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: integer;
Rgn: HRGN;
begin
for i:= 50 downto 1 do
begin
Rgn:= CreateRectRgn(0,0,(width*i) div 50,(height*i) div 50);
SetWindowRgn(Handle,Rgn,True);
DeleteObject(Rgn);
Sleep(50);
end;
end;