Here's how to prompt users whether they really want to exit your program or not (regardless of how they choose to close it): 
 
Select your form (named "Form1" for example) and double click on its "OnCloseQuery" event
 
Define the "FormCloseQuery" procedure as follows: 
 
procedure TForm1.FormCloseQuery(
 Sender: TObject;
 var CanClose: Boolean);
begin
 if(mrNo = MessageDlg(
 'Are you sure you want to exit?',
 mtInformation,
 [mbYes, mbNo],
 0)) then
 begin
 CanClose := False;
 end;
end;