Думаю самый простой способ такой:
Code
var
F: TForm;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
F := TForm.Create(Application);
F.BorderStyle := bsNone;
F.Ctl3D := False;
F.BoundsRect := Screen.WorkAreaRect;
F.Color := clBlack;
F.AlphaBlend := True;
F.AlphaBlendValue := 100;
FormStyle := fsStayOnTop;
F.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
F.Free;
FormStyle := fsNormal;
end;
Если хочеш размыть то делай скриншот перед показом и клади его на фоновую форму и размывай.