Как уже упоминался конфигуратор (в комментариях), форма должна быть показана перед тем, как ее можно будет закрыть, поэтому вместо события Загрузка вы должны сделать это в Показано событие вместо
Если вы не хотите, чтобы форма отображалась для диалогового окна, я думаю, вы можете заключить код события в Visible = false;
В итоге, основной код будет
private void WriteCheck_Shown(object sender, EventArgs e)
{
Visible = false;
SelectBankAccountDialog sbad = new SelectBankAccountDialog();
DialogResult result = sbad.ShowDialog();
if (result == DialogResult.Cancel) {
this.Close();
} else {
MessageBox.Show(result.ToString());
}
MessageBox.Show(sbad.bankaccountID.ToString());
Visible = true;
}