Is there a way to get all assemblies that depend on a given assembly?
Pseudo:
Assembly a = GetAssembly();
var dependants = a.GetDependants();
First define your scope, e.g.:
All assemblies in my application's bin directory
All assemblies in my application's bin directory + all assemblies in the GAC
All assemblies on any machine in the world.
Then simply (*) iterate through all assemblies in your scope, and use reflection to check if they depend on your target assembly.
If you want indirect as well as direct references, you'll have to rinse and repeat for all the assemblies you find.
(*) Might not be quite so simple if your scope is 3 above.