Kannst du mal versuchen TD3DGui als var zu übergeben. Also quasi zu forcieren, daß der Pointer übergeben wird (alternativ const).
Wenn das nicht funktioniert, müßtest du bitte mal die
DLL und die EXE anhängen. Dann würde ich mir das im Debugger mal anschauen.