Re: http://knowledgebase.progress.com/articles/Article/000050954?popup=true
I found this KB article very interesting. I would have predicted that both would have performed equally. But then I remembered that someone once told me that a for each, each, each is equivalent to for each: for each: for each...
Now it makes more sense because each individual for each in this case would read a single record per iteration whereas the openquery needs to build a result list before beginning to iterate through it.