Try running the query in PHP MyAdmin and see if it returns more than one row. Maybe the query only has one row? I see... you are grouping by NJcatSUBTITLE, so it would only have one row. That makes your original query make more sense.
Maybe it should be:
<?php
$rsGALLERYSUBCS = new WA_MySQLi_RS("rsGALLERYSUBCS",$csdbmysqli,20);
$rsGALLERYSUBCS->setQuery("SELECT NJlinkcatsubgal.NJcatSUBID, NJcategoriesSUB.NJcatSUBTITLE, galleryRand.NJgalleryID, galleryRand.NJdomainID, galleryRand.NJgalleryIMG, galleryRand.NJgalleryTITLE FROM NJlinkcatsubgal INNER JOIN NJcategoriesSUB ON NJlinkcatsubgal.NJcatSUBID = NJcategoriesSUB.NJcatSUBID LEFT OUTER JOIN (SELECT NJgallery.* FROM NJgallery WHERE NJlinkcatsubgal.NJgalleryID = NJgallery.NJgalleryID ORDER BY RAND() LIMIT 1) AS galleryRand WHERE galleryRand.NJdomainID = $domainID AND galleryRand.NJgalleryDELETE = 2 GROUP BY NJcategoriesSUB.NJcatSUBTITLE");
$rsGALLERYSUBCS->execute();
?>