Per caricare runtime in un AppDomain un assembly a partire dal suo path assoluto è sufficiente scrivere qualcosa del tipo:

using System.Reflection;

// ...
Assembly asm = Assembly.LoadFile(@"E:\temp\Foo.dll");

In particolare, il metodo LoadFile carica l'assembly nell'AppDomain del chiamante.
Non è purtroppo possibile fare la stessa cosa ad esempio da una applicazione VB6 che fa da host del CLR, perchè il metodo LoadFrom non è disponibile via COM Interop. L'ostacolo è però aggirabile utilizzando il metodo CreateInstanceFrom di AppDomain che invece è disponibile via COM Interop. E' sufficiente avere nell'assembly da caricare una classe istanziabile, accessibile via COM Interop con costruttore senza parametri (pubblico).
Il codice VB6 potrebbe essere:

Dim RuntimeHost As CorRuntimeHost
Dim AppDomain As AppDomain

Set RuntimeHost = New CorRuntimeHost
RuntimeHost.Start
RuntimeHost.GetDefaultDomain AppDomain

AppDomain.CreateInstanceFrom("E:\temp\Foo.dll", "SomeClass")

RuntimeHost.Stop
Set RuntimeHost = Nothing

Dopo l'esecuzione di CreateInstanceFrom, se si enumerano gli assembly caricati nell'AppDomain si trova anche Foo.dll.
Infine, se Foo.dll non dispone di una classe istanziabile accessibile via COM Interop si potrebbe sempre costruire un assembly che funge da "bootstrapper" con una classe istanziabile, accessibile via COM, con un metodo che utilizza Assembly::LoadFrom per caricare Foo.dll.