I think DLLImport and LoadLibrary have different goals. If you use native .dll, you should use DllImport. If you use .NET assembly, you should use LoadAssembly.
Actually, you can dynamically load native assembly too, see this example:
dynamically-calling-an-unmanaged-dll-from-.net