Нельзя выгрузить dll, если она в данный момент используется каким-либо приложением. Да и вообще, вгрузить можно только из того процесса, в котором она была загружена. Попробуй просто удалить/переименовать ее до загрузки самой программы. DllClose() работает только для тех dll, которые были загружены с помощью DllOpen(), и только.