Whenever possible try to create the framestack without using SetFrameLevel or SetFrameStrata. Those should be used for the base frame only. Always try to create your stack via frame parenting and texture sublayers.
Code:
frame1
|-texture1, sublayer -7
|-texture2, sublayer -6
|-frame2
|-texture1, sublayer -7
|-frame3
|-texture1, sublayer -7
Lua Code:
local frame1 = CreateFrame("Frame",nil,UIParent)
--frame1:SetBackdrop(backdrop)
frame1.texture1 = frame1:CreateTexture(nil,"BACKGROUND",nil,-7)
frame1.texture2 = frame1:CreateTexture(nil,"BACKGROUND",nil,-6)
local frame2 = CreateFrame("Frame",nil,frame1)
frame2.texture1 = frame2:CreateTexture(nil,"BACKGROUND",nil,-7)
local frame3 = CreateFrame("Frame",nil,frame2)
frame3.texture1 = frame3:CreateTexture(nil,"BACKGROUND",nil,-7)