Well it sounds more like an issue with how you are parenting than a problem with needing a global parameter for scaling.
If you set the global parameter for EntityParent to a 0 (indicating local), then the child will scale to the parent's scale. If you set the parameter to a 1, then the child will maintain its scale regardless of the parent's scale.
require("Scripts/constants/engine_const")
RegisterAbstractPath("")
Graphics(800,600)
fw=CreateFramework()
fw.main.camera:SetPosition(Vec3(.5,1,-4))
mesh1 = LoadModel("abstract::firepit.gmf")
mesh1:SetScale(Vec3(.5,.5,.5))
mesh2 = CreateCube()
mesh2:SetParent(mesh1, 0)
mesh2:SetPosition(Vec3(-1,1,0),1)
mesh3 = mesh1:Copy()
mesh3:SetPosition(Vec3(1,0,0))
mesh4 = CreateCube()
mesh4:SetParent(mesh3, 1)
mesh4:SetPosition(Vec3(2,1,0),1)
while KeyHit(KEY_ESCAPE)==0 do
mesh1:Turn(Vec3(.5,0,0))
mesh3:Turn(Vec3(0,.5,0))
fw:Update()
fw:Render()
Flip(1)
end