Just in case you or anyone else is still having this issue…
I had a similar problem when writing my own attribute validator class which was configured as follows:
Declared the class in a namespace "com\myproject\web\model\validator"
Put the statement “Yii::setPathOfAlias(‘com’,dirname(FILE).’\…\com’)” in the main config file
Registered the validator using “array(‘capacity’, ‘com\myproject\web\model\validator\ConditionallyRequiredValidator’, …),”
Whenever I tried to load the CFormModel that was using this validator, I had that “failed to open stream: No such file or directory” for the Iterator class. This was odd because the spl_autoload_call function was being given the argument ‘com\myproject\web\model\validator\Iterator’, apparently by a php internal function or something, so there was no way for Yii to figure out the correct path because the autoload call was wrong in the first place.
I had decided to drop the namespace on this validator class and just put the class on my protected\validators folder and added that folder to the Yii imports.
Today however I realised php 5.5.8 was available (my version was 5.5.7) so I decided to look at the change log and noticed the "Added validation of class names in the autoload process" so I installed this version on my server, put the validator back on its namespace with the same configuration as before and all of a sudden it just started to work. I believe this should work as well for model classes.