Hallo Chris,
das Problem, dass Du hast ist, dass die von dir gesuchten Verwendungen nicht im Referenzgraph gespeichert werden, also über diesen auch nicht entsprechend angefragt werden können.
Fremdschlüsselbeziehungen werden in der Datenbank hinterlegt. Um entsprechende Referenzen zu finden, musst Du somit diesen Fremdschlüsselbeziehungen folgen.
Das geht im ersten Schritt von dem Datensatz aus, sofern diese nicht falsch herum gerichtet sind [und es eine Tabellenvorlage mit einer Eingabekomponente gibt, die diese visualisiert]
Auch Queries machen nichts anderes, als entsprechende Datenbankanfragen zu definieren. Auch diese müssten entsprechend nachgebaut werden, um die Datensätze zu finden. Jedes Query ist einer Tabelle (EntityType) zugeordnet. Du brauchst also nur die zu berücksichtigen, die auf die aktuelle Tabelle zeigen.
Contentprojektionen sind im Prinzip nichts anderes als die Queries selber. Mit der Besonderheit, dass die Ergebnismenge eingeschränkt werden kann (über die Datensätze pro Seite und die Zahl der Seiten). Die ContentProjektionsseiten haben alle einen Absatz, der auf einer Tabellenvorlage beruht, die wiederum einer Tabelle zugeordnet ist.
Bleiben noch die contentSelect Funktionen. Diese haben eine Referenz auf das Schema, nicht aber auf die verwendete Tabelle. Hier habe ich keinen sinnvollen Tipp parat, wie man herausfindet, ob ein Datensatz über eine contentSelect Funktion ausgegeben wird oder nicht 
Suchen in der Datenbank per Skript:
Über eine Datenquelle (content2) das Schema holen und darüber eine Session (<content2>.getSchema().getSession())
Mit der Session ein select erzeugen (session.createSelect("..."))
Dieses entsprechend füllen mit den benötigten Statements und dann über die Session ausführen.
Zurück bekommt man eine Liste mit Entities, für die die entsprechenden Einschränkungen zutreffen.
Viele Grüße
Holger