Я думаю, что возможно это cursor_offset в функции извлечения ( Функция извлечения php manual ), попробуйте установить его в 0, как
while ($rec = $res->fetch(PDO::FETCH_OBJ,0)){...}
Одна вещь, которую я узнал, читая руководство по php, это то, что есть функция с именем PDOStatement :: fetchObject (они говорят, что это альтернатива, также есть одна вещь, которую вы можете попробовать).
В заключение, я действительно рекомендую использовать fetchAll, если вы планируете перебирать все результаты:
foreach($res->fetchAll(PDO) as $result)
{
}