DiMA, там эта строчка закомментирована. если делать unset (как того требует мануал), то никаких странностей нету. а если не делать, то ССЗБ.
так в чем собственно вопрос? почему foreach реализован так, что надо обязательно делать unset если брали значения по ссылке?