//dll -u $nopath(filename)
is not following the same filename convention used by $read $readini /write /writeini etc.

While I understand the 'by design' behavior to allow unloading dll's without needing to reference the full/relative path if it's located outside $mircdir, it should probably give precedence to the dll located in $mircdir before making $nopath() matches against a name-string that doesn't include a path.

If you have foobar.dll located in $mircdir and c:\otherpath\foobar.dll and they're both loaded in memory, "/dll -u foobar.dll" unloads whichever one is loaded first in the $dll(number) sequence instead of first seeing if it's located in $mircdir.