si è corretto.

se proprio vuoi, al posto di
codice:
    if MessageDlg('Confermi?', mtInformation,[mbYes, mbNo], 0) = mrYes then
      CanClose:=True;
puoi fare:
codice:
    CanClose := MessageDlg('Confermi?', mtInformation,[mbYes, mbNo], 0) = mrYes;

ma la sostanza non cambia.