I've just tested your code and I think the problem is with the line:
If you set it to a system constant color (e.g. 'Color.AliceBlue') then it works, so something seems to be wrong with the way you're accessing settings. If you're just setting their background colour to that of the main form, couldn't you just use this instead:
value.BackColor = My.Settings.frmMainBackColour
If this routine is outside of the code for frmMain, it would be:
value.BackColor = frmMain.BackColour
If it's within the code for frmMain, you use instead:
value.BackColor = Me.BackColour
Just tried adding a setting named the same as yours myself and using that worked fine, is the setting you're using set to type "System.Drawing.Color"?
Also noticed you're not creating new instances of TextBox when you're creating them, just before the line:
txtMain(variableHoldingNumberOfLatestAddedBox).Name = "GIVE IT A NAME"
txtMain(variableHoldingNumberOfLatestAddedBox) = New TextBox