Logically it sounds like Opera isn't handling text inside spans correctly as it's only wrapping the text encapsulated inside p tags (and for non-paragraphed text, it's handling it as nowrap...?)
That seems like a bizarre behaviour just for text, however the introduction of Flash, and Opera's handling of that, has always been a little strange IMO. Perhaps it's something to do with the standard defined at the top of your document. Are you using strict or transitional? Or perhaps it's a quirksmode thing? Could it be something to do with overflow (:visible) and the way Opera's interpreting the newly-replaced sIFR text as just a layer with 'something' in as opposed to text?
Sorry this isn't so much of an answer as a series of suppositions, but I can't add this as a comment as I don't have a high enough rep yet on SO.
You may get some inspiration from reading docs like http://www.cs.tut.fi/~jkorpela/quirks-mode.html on quirks mode, I've found Opera to be a bit quirky itself in the past. Sometimes standards compliant can be too standards compliant ;-)