While you sort out what's going on with e.CloseReason, you could implement a "hot-fix" for Alt-F4 by setting the Form's KeyPreview Property to 'true, and wiring-up the KeyDown Event:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = (e.Alt == true && e.KeyCode == Keys.F4);
}