Well, it seems to work, I used the display property. The problem I would anticipate using the visibility property is that although the element is not visible, it is still allotted space on the page. With such a large element as:
<span class="nonie">
<iframe name="contents" src="pr_lively.html" width="665" height="550" frameborder="0" marginheight="0" scrolling="no" />
</span>which is required here, that could really throw the layout off. You are correct in saying that using display simply to hide something is a poor practice but, since we are here not only wishing to hide it but also remove its rendering area from the layout, that is exactly what the display property is for. I just tried it using visibility and it does mess up the layout, just as I suspected. There still remains (and perhaps elliot already has a solution for this) the problem that when attempting to validate strict xhtml, the validator thinks an iframe requires a frameset DOCTYPE which, I am pretty sure would not work on his page. I will look into that though.
Added Later:
No, as I suspected, the validator doesn't like a frameset DOCTYPE for this page either, due to the presence of a body tag.