Questa cosa potrebbe essere da differenziare a seconda che tu stia operando con Form Continue o Singole... ma poi vedrai tu.
In sostanza in entrambi i casi, il RECORD soggetto ad EDITING è sempre e solo 1 per volta, e diventa il Record ATTIVO o CORRENTE.
Ne consegue che su EVENTO CURRENT di Maschera, puoi testare la Data come Year(ControlloData)<Year(Now()) ed in base a questa Condizione Forzare la proprietà ALLOWEDITS/ALLOWDELETIONS a FALSE...
Private Sub Form_Current()
If Me.NewRecord Then Exit Sub
Me.AllowEdits=Year(Me!ControlloData.Value)<Year(Now())
Me.AllowDeletions=Year(Me!ControlloData.Value)<Year(Now())
End Sub