Открыл форму через Application.ShowModelessDialog(form). Теперь форма и приложение закрываются при 2-ом нажатии на крестик.
Кстати, не очень понимаю, почему нельзя пользоваться методом form.Show(). Везде написано, что это корректный метод.
А по поводу закрытия формы пользователем. Ему это не нужно. Ему удобнее сразу все закрыть, нажав на крестик автокада.