Sounds like the order by in a subquery must have been added in 8.1. Marco, the rownum gets assigned before the order by statement is processed in Oracle. So it is quite easy to do a query where the rownum comes back out of order (boy, was I surprised the first time I saw that!) They fixed it by allowing order by in an inline view (which works very well.)
-Mark Ford