Vamos a suponer que si el campo REGISTRO no tiene aún valor es porque se va a dar de alta un registro, mientras que si ya tiene valor es que hablamos de un registro cuyos datos ya se han cumplimentado. ¿OK?
Imaginemos que los campos [Campo1] y [Campo5] son los que quieres bloquear.
Lo que tienes que hacer es lo siguiente:
1.- Pon tu formulario en vista diseño
2.- Sacas sus propiedades y te vas a la pestaña Eventos -> Al activar registro, y ahí le generas el siguiente código:
...
Private Sub...
 'Miramos si el campo [REGISTRO] tiene valor o no
 If isnull(me.REGISTRO.Value) then
 'Si no tiene valor nos aseguramos que los campos "conflictivos"
 'están desbloqueados
 With me
 .[Campo1].Locked = False
 .[Campo5].Locked = False
 End with
 Else
 'Si tiene valor bloqueamos los campos "conflictivos"
 With me
 .[Campo1].Locked = True
 .[Campo5].Locked = True
 End with
 End If
End Sub
...
Ya me dirás qué tal.