Имах същия проблем с PDO::nextRowset(), тъй като връща true, дори да няма повече налични набори редове, следователно при извикване на fetchAll(), той повдига изключение HY000. (тествано на PHP 5.5.12 windows, Mysql 5.5.17 linux)
Заобиколно решение за този проблем е да се провери броя на колоните с метода PDO::columnCount(), преди да се извлече набор от редове. Ако е различно от нула, имате валиден набор от редове и по този начин можете да извикате PDO::fetchAll().
Дори ако PDO::nextRowset() отчете true, columnCount() ще отчете броя на колоните, преди да премине към следващия набор от редове.
Пример:
while ($objQuery->columnCount()) {
$tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
$objQuery->nextRowset();
}