You can either write and load a DLL as an engine plugin, or load the DLL directly in lite-C as described under "DLLs and APIs". In the former case the DLL must be created with the plugin SDK, in the latter case any DLL will do.
If a DLL does not load on a certain PC after you add a certain function, than probably some prerequisite for that function - such as a certain dynamic library - is missing on that PC.
Hope that helps.