page.show only works if "display: none" is inline style?

I have a div that I want to be hidden when the page displays, but then
have RJS code which will show it later (via either page.show('elem_id')
or page['elem_id'].show).

If the "display: none" style for this element is specified in my
external stylesheet, I am unable to successfully show this element using
either of the methods mentioned above. If, however, I specify "display:
none" as an inline style on the element, then the RJS code to show the
element works.

Has anyone ever seen this behavior before?

Yes...

http://wiki.script.aculo.us/scriptaculous/show/Element.show

The output is a little wonky, but at the top it says that you either need to have hidden it first using Element.hide or using an *inline* css rule.