Ma i membri sono associati a dei gruppi ?

Dovresti rendere la seconda query dipendente dal gruppo che stai utizzando.

codice:
*query1*
...
while($rG = $gruppi1 -> fetch())
    {   
        *query2* where gruppo = $rG['gruppo']
       // Qui inserisci un test per passare solo se la query ha tornato qualcosa
       if (c'è almeno un record) {
        $xml .='<gruppo>'."\r\n";

        while($r = $raggruppamenti -> fetch())

            {
            $xml .='<membro>'."\r\n";
                $xml .='<nome>'. $r['record'].'</nome>'."\r\n";
            $xml .='</membro>'."\r\n";
            }


        $xml .='</gruppo>'."\r\n";

        } // Qui fine del test
    }