J'ai eu le même problème avec PDO::nextRowset(), car il renvoie true même s'il n'y a plus d'ensembles de lignes disponibles, donc lors de l'appel de fetchAll(), il lève l'exception HY000. (testé sur PHP 5.5.12 windows, Mysql 5.5.17 linux)
Une solution de contournement à ce problème consiste à vérifier le nombre de colonnes avec la méthode PDO::columnCount() avant de récupérer l'ensemble de lignes. S'il n'est pas nul, vous avez un jeu de lignes valide et vous pouvez donc appeler PDO::fetchAll().
Même si PDO::nextRowset() indique vrai, columnCount() indiquera le nombre de colonnes avant de passer au jeu de lignes suivant.
Exemple :
while ($objQuery->columnCount()) {
$tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
$objQuery->nextRowset();
}