Auch wenns schon klappt, hier noch ein Tipp:
Mit MessageDlg können auch Dialoge angezeigt werden.
Das hat den Vorteil, dass kein lästiges
Handle übergeben werden muss.
Außerdem wird die Nachricht als String angegeben und muss deswegen nicht mit PChar
getypcastet zu werden.
Bsp.
IF MessageDlg('Programm schließen?', mtConfirmation, [mbYes, mbNo], 0) = IDYes THEN Close;
CU