Aqua - glad you got it sorted, and Doug, thanks for following through on my post

(I'd taken an early night here!)
Looking through the code it may have been more robust to reference the instantiated form with it's own form variable,
i.e.
CODE
Public Function UpdateAllFormsProp()
On Error GoTo err_proc
Dim srcFrm As Object
Dim strFrm As String
Dim frmOpen As Form
For Each srcFrm In Application.CurrentProject.AllForms
strFrm = srcFrm.Name
Debug.Print strFrm
DoCmd.OpenForm strFrm, acDesign
Set frmOpen = Forms(strFrm)
With frmOpen
.AllowFormView = True
.AllowDatasheetView = False
.AllowPivotTableView = False
.AllowPivotChartView = False
.AllowLayoutView = False
End With
DoCmd.Close acForm, strFrm, acSaveYes
Next srcFrm
exit_proc:
Set frmOpen = Nothing
Set srcForm = Nothing
Exit Function
err_proc:
MsgBox "Error in Function: 'UpdateAllFormsProp'" & Chr(13) & Err.Description
Resume exit_proc
End Function
'
'
but as this is a bit of code that I only use occasionally and it works, I've never 'fixed' it!
Cheers