Chris, das mit dem namentlichen Auflisten: Da würde ich mich NIE darauf verlassen. Irgendwann wird das mal anders gemacht.
Und der Code, der für Deine Ziele erforderlich ist, ist nun kein Hexenwerk:
Zu 1) ACL durchlaufen, prüfen, ob der ACLEntry die gesuchte Rolle hat und dem Array der Emüfänger zufügen. Abschliessend prüfen, ob es überhaupt Einträge im Array gibt.
Zu 2) Selbiges Verfahren, dieses nur ergänzt um das (rekursive!) Auflösen von Gruppen.
Das ist alles eigentlich nur pures Handwerk.
HTH,
Bernhard