Tu primera interrogante ecfisa ya magistralmente te la contestó. Con respecto a la segunda, la línea "OpenDialog.Execute;" devolverá False si el usuario presionó el botón "Cancelar" o simplemente cerró la ventana con el botón "X" en la parte superior derecha. Por ejemplo:
Código Delphi
[-]
if not OpenDialog.Execute then exit;
Saludos,
Chris