http://msdn.microsoft.com/en-us/library/ms682589(VS.85).aspx
There's the official documentation on DLLs, it has examples for loading and using functions from DLLs. There's a couple ways to use DLLs and some things you need to know, so I'd read through the material.
The reason I am against using DGDKs functions is a) you told me they don't work, and I trust you =P, b) it's best to use the native commands.
All DGDK is doing is wrapping them for easier use and, from what you've said, doing a very poor job of it! Learn the native commands, you'll be better off!
Quote: "They are there because DGDK is a copy of DBP. It would be stupid to remove the commands in DGDK."
Nonsense!
It's very reasonable to remove some of the supurfluous commands, and, indeed, they did! Some remained for reasons unknown. I suppose some of the file i/o remained because they are arguably easier to use, but all in all I think C style input, once I learned it, was much nicer than DGDK.
DGDK is a port of the BASIC commands that DBP uses. Since it is being ported to a different language rather than a stand alone BASIC, there are some commands which don't make much sense to have as the native language it's ported to, C++ in this case, does it better, more efficiently, though arguably more difficult.
Tux is my guildmaster.