関数名の修飾の違いは、呼び出し規約の変更によるものと思われます。
詳しくは __stdcall, __cdecl, export 等のキーワードで検索してください。
C# 版 dxlib.dll を D で使用するためのインポートライブラリ作成方法は次のようになります。
% implib /system dxlib.lib dxlib.dll
DLL のパスを変更したい場合の手順は以下のとおりです。
(1) def ファイル作成
% impdef -a dxlib.def dxlib.dll
(2) dxlib.def を編集
LIBRARY DXLIB.DLL
↓
LIBRARY "DATA\DXLIB.DLL"
(3) lib ファイル作成
% implib /system dxlib.lib dxlib.def
上記手順で作成した lib を用いて次のサンプルが動作することを確認しました。
pragma(lib, "dxlib.lib");
extern (C) int dx_DxLib_Init();
extern (C) int dx_GetColor(int, int, int);
extern (C) int dx_DrawString(int, int, char*, int, int);
extern (C) int dx_WaitKey();
extern (C) int dx_DxLib_End();
void main() {
dx_DxLib_Init();
dx_DrawString(100, 100, "hoge", dx_GetColor(255,255,255), 0);
dx_WaitKey();
dx_DxLib_End();
}