This query works in 8i and 9i so my first idea is that 10G is broken. It's asking for a CONNECT BY clause but itt *has* a CONNECT BY clause in that subselect.
Can you run Oracle 9i rather than 10G? If so, try that.
If not ... do you have Oracle support? If so, submit a bug report to them and tell us what they tell you.