H Close απλά κλείνει την φόρμα, δεν καταστρέφει το αντικείμενο της φόρμας και οπωσδήποτε δεν σταματάει την εκτέλεση του κώδικα. Συνεπώς, σωστά εκτελείται η MessageBox.Show. Αν όμως δεν ολοκληρωθεί το function που κάλεσε την Close, η φόρμα δεν μπορεί να κλείσει. Από εκεί και πέρα, αν η φόρμα σου είναι η μοναδική ανοικτή φόρμα της εφαρμογής, το MessageBox.Show δεν θα φανεί, το function θα συνεχίσει να τρέχει και η εφαρμογή σου θα κλείσει μόλις κλείσει η φόρμα. Αν η φόρμα σου έχει ανοιχτεί από κάποια άλλη, το MessageBox θα εμφανιστεί και η φόρμα θα κλείσει μόνο όταν τελειώσει το function.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos