The other option, if you actually wanted to let oUF control the color, would be to point the SetVertexColor method to something useful:
Code:
local function SetVertexColor(self, r, g, b)
self:GetNormalTexture():SetVertexColor(r, g, b)
end
for index = 1, numIcons do
local Icon = CreateFrame("Button", nil, self)
Icon:SetNormalTexture(cfg.statusbar_texture)
Icon:GetNormalTexture():SetAllPoints(true)
Icon.SetVertexColor = SetVertexColor