No te guarda los registros en esos campos porque en el formulario no los tienes enlazados con la tabla, sino que los calculas en función de los valores de los otros campos (por eso se llaman campos calculados).
Te voy proponer 2 opciones:
1º/ La más "eficiente" desde el punto de vista de la BD es que elimines esos campos de la tabla, pues como su valor depende de los otros campos, siempre los puedes calcular directamente en el formulario (o informe) como haces ahora, o en una consulta.
2º/ Si aún quieres almacenar los valores en la tabla, vas a tener que enlazarlos en el formulario a la tabla (borrando la fórmula y poniendo el nombre del campo de la tabla, como tienes en Registro, Producto...) haciendo los cálculos y asignando los resultados a los campos por código. Una opción para eso sería ésta, otra que hagas los cálculos en el evento "después de actualizar" de los campos "fecha colocado" y "tiempo de duración" y los asignes directamente a los otros dos, algo así:
Dim vFecha As Variant, vTiempo As Variant
Dim vVencimiento as Date
vFecha=Me.[Fecha Colocado]
vTiempo=Me.[Tiempo de duración]
If IsNull(vFecha) Or IsNull(vTiempo) Then Exit Sub
vVencimiento =DateAdd("yyyy",vTiempo,vFecha)
Me.[FECHA VENCIMIENTO]=vVencimiento
Me.[FECHA RECORDATORIO]=DateAdd("m",-6,vVencimiento)