Miałem ten sam problem z PDO::nextRowset(), ponieważ zwraca true, nawet jeśli nie ma więcej dostępnych zestawów wierszy, dlatego podczas wywoływania fetchAll() zgłasza wyjątek HY000. (testowane na oknach PHP 5.5.12, Mysql 5.5.17 linux)
Obejściem tego problemu jest sprawdzenie liczby kolumn metodą PDO::columnCount() przed pobraniem zestawu wierszy. Jeśli jest niezerowe, masz poprawny zestaw wierszy, a zatem możesz wywołać PDO::fetchAll().
Nawet jeśli PDO::nextRowset() zgłasza prawdę, columnCount() zgłosi liczbę kolumn przed przejściem do następnego zestawu wierszy.
Przykład:
while ($objQuery->columnCount()) {
$tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
$objQuery->nextRowset();
}