Попробуйте установить свойство Dirty :
If Me.BU_DAT_ZAHL < Date Then
Me.BU_DAT_ZAHL = Date
Me.Dirty = False
Call MsgBox("Zahlungsdatum wurde auf heute gestellt!", vbCritical + vbOKOnly, "Formalprüfung Anweisung")
End If
Если это тоже не удается, что-то блокирует действие сохранения.
Как примечание - будьте осторожны, непугая пользователя. Это событие никоим образом не критично, ваш код позаботился о ситуации, и все, что вы хотите, - это сообщить пользователю, что:
Call MsgBox("Zahlungsdatum wurde auf heute gestellt.", vbInformation + vbOKOnly, "Formalprüfung Anweisung")