Your other option for a solid background would be to use a simple texture instead of a "real" backdrop. This would create a 50% opaque red background:
Code:
local bg = frame:CreateTexture(nil, "BACKGROUND") -- does not need a global name
bg:SetAllPoints(true) -- if you want it inset or outside, set explicit points
bg:SetTexture(1, 0, 0, 0.5) -- you can pass colors instead of a texture if you just want a solid color
frame.bg = bg -- so it's easy to access later from other scopes