Сделайте так, чтобы ваш диалог был тупым пользовательским интерфейсом. Т.е. он обрабатывает весь ввод данных, но не сохраняет никаких данных. Так что, если вы используете диалог, вызываемый из формы - имейте что-то вроде
If (myDlg.ShowDialog() = DialogResult.Ok)
MyDataContext.SubmitChanges()
End If
Таким образом, если ваш диалог не возвращает Ok (то есть, если они нажимают кнопку отмены, DataContext не сохранит результаты в базе данных.
Это также относится к коду многократного использования.