I had a similar problem with Sub-Forms as well. All of my forms and sub forms needed to be displayed with different background colors depending on the setting of a field in the main form. When the forms and Sub-Forms were initially loaded, they all had the appropriate colors, but when the value in the field was changed, only the display colors in the primary forms got changed. The sub forms did not because they were already loaded, and did not recognize the change. The solution for me was to refresh the data in the Sub-Form, and then "Repaint" the Sub-Form (see example below).
Note: There is also a refresh command and a requery command that you can try as well.
If Forms!fmrWorkOrders!ProgramMode = "Production" Then
Me.FormHeader.BackColor = 12632256
Me.Detail1.BackColor = 12632256
Me.FormFooter.BackColor = 12632256
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.FormHeader.BackColor = 12632256
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.Form_Detail.BackColor = 12632256
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.FormFooter.BackColor = 12632256
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.Repaint
ElseIf Forms!fmrWorkOrders!ProgramMode = "QA Testing" Then
Me.FormHeader.BackColor = 8421631
Me.Detail1.BackColor = 8421631
Me.FormFooter.BackColor = 8421631
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.FormHeader.BackColor = 8421631
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.Form_Detail.BackColor = 8421631
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.FormFooter.BackColor = 8421631
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.Repaint
ElseIf Forms!fmrWorkOrders!ProgramMode = "Development" Then
Me.FormHeader.BackColor = 10540288
Me.Detail1.BackColor = 10540288
Me.FormFooter.BackColor = 10540288
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.FormHeader.BackColor = 10540288
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.Form_Detail.BackColor = 10540288
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.FormFooter.BackColor = 10540288
[Forms]![fmrWorkOrders].[tblInvoiceDetails].Form.Repaint
End If