Back to square One
Yet again this is a sad state of affairs. For the only way around this is to NOT use overflow:auto (which was actually the RIGHT way). Instead use a non-semantic hack: adding some content in the #page, after the floated content. In this case it's a <hr> with clear:both set in the stylesheet. I could render it "invisible" by setting color, border, etc.