Это все верно, что запрос возвращает больше одной строки. Но вот это тебе ни о чем не говорит?:
foreach($modx->getIterator('class', $q) as $obj){ ... break; }