Front elevation of the building

So, I devised what I thought would be a cunning plan. I would light the containing sector with a value of 128, put an invisible 3D floor just below the sky and set the value below the floor to 176 and then have the roof of the building set the area below the roof to 128 again. That way, everything below the sky but above the roof would be lit to 176 and everything below the roof would be at 128. I thought that this would mean that any models in the building would be lit by the 128 of the containing sector.
However, it didn't work out quite as I expected. For some reason, models on one side of the building were lit in the way I wanted (ie they were lit with a value of 128) but models on the other side were lit too brightly (176) taking their light value from the value just under the sky floor (checked by making the sky floor model sector a strobing one and the models flashed bright/dark). Everything else (walls etc) was lit as expected.

I tried all sorts of heights, flags and opacity combinations but this odd situation persisted. The building itself was very simple (pretty much as the above pictures illustrate), there were no errors flagged up by the DeePsea error checker and all the models were in the same sector (ie there was only 1 sector in the building).
I no longer have the file and my attempts to recreate the situation have failed. However, and finally here comes the question:
Is it just that making such a construct is unreliable and effectively undefined behaviour or is there something more to investigate here?