This bug is new in the 583 build.
Try this :
ProjectAssembly project1 = new ProjectAssembly("MyProject1");
ProjectAssembly project2 = new ProjectAssembly("MyProject2");
string referencePath = @"C:\MyAssembly.dll";
IProjectAssemblyReference assemblyRef1 =project1.AssemblyReferences.AddFrom(referencePath);
IProjectAssemblyReference assemblyRef2 =project2.AssemblyReferences.AddFrom(referencePath);
Here assemblyRef2 is null and project2.AssemblyReferences.Count is 0
I known the .Net Add-on use reflection to analyse references (this is not a good idea... : reflection is for runtime, not for static analyse)
It seems now, the assembly respository use
Assembly.ReflectionOnlyLoad(File.ReadAllBytes(path));
instead of
Assembly.ReflectionOnlyLoadFrom(path);
So, the second call throw a FileLoadException : "Assembly already loaded from other path..."
I hope Actipro will devellope an IAssemblyRespository based on a IL dissasembler (Mono.Cecil, CCI Metadata...)