Unfortunately, that test page shows that the issue isn't floats at all, but rather, absolute positioning. That means the clear trick won't work.
Unfortunately, I don't have any terribly good solutions to the absolute positioning issue, either. I can see a few possibilities, though:
1) Use floats for the columns and use the clear trick mentioned above.
2) If you can determine ahead of time that one of the columns will always be taller than the rest, don't absolutely position it. Then, the container will expand to fit that single column's height, and because the other columns are always smaller, they'll fit nicely. If it's not a sure thing, though, then this solution is probably a bad idea, as Murphy's Law will surely guarantee that whatever column you think will usually be taller than the rest never is.
3) Keep the columns as they are and
on the container. Possibly, wrap only the columns inside a smaller container and set
only on that new, smaller container. That will give you vertical scroll on the contents of the "page" in the first case, or just the columns in the second case, while leaving your "page" sitting right where it's at. You can then use z-indexing to make sure things overlap correctly. If you go this route, I'd further suggest dropping your height from 100% to 95% or so, as 100% causes the window to vertical scroll in Firefox.
None of these give you exactly what you want, alas, but maybe one of these ideas will be at least sufficient.