using VC DLL from Delphi app

I am trying to call  an external function from a DLL that was compiled
in VC 2.0  I have successfully interfaced the (same) function for the
16-bit library using Delphi 1.0, but get an error when I try to run
the 32-bit equivalent from my Delphi 3.0 app.

The declaration of the function from the DLL (as stated in the
developers documentation) is as follows:

(located in TheirDLL32.dll)
UINT _pascal TheirProc32
        (LPSTR cmd,
        LPVOID (CALLBACK * lpfCallBack) (UINT Id, LPVOID lpParm),
        BOOL Flag);

(the 16-bit version is the same, except the name is TheirProc -- no
'32' and the DLL name is TheirDLL.dll)

My first hurdle was getting Delphi to find the function in the DLL.  I
eventually got it to work by using the following:

:: begin snip::
procedure TheirProc32 (cmd: pChar; CallBack: pointer; Flag: boolean);


procedure TheirProc; external 'TheirDLL32.dll' name 'TheirProc32@12';
::end snip::

I assumed the '@12' came from name mangling?  It was not required in
the 16-bit version... Not having the @12 in the 32-bit resulted in a
link to missing external error...

OK, now that I have found the function (I think), calling the external
results in an access violation (Reading address FFFFFFFF).  I tried
declaring the TheirProc32 as cdecl, pascal, stdcall, safecall and
register (just to see if it was calling convention that was lousing me
up).  I also attempted a dynamic link using loadlibrary and
getprocaddress... no dice.

My callBack has been instantiated with makeProcInstance and has been
declared as 'export'ed (I don't believe that this is necessary in
Delphi 3.0, but it doesnt hurt, right?)  This same CallBack worked
with the 16-bit version of TheirProc, so I don't think that the error
is here.

Stack size is more than adequate (tried from 16K to 32K -- DLL
manufacturer says they need 22K at least).

I am new to Delphi, so I am sure I have just done soemthing goofy (or
completely stupid).  Any kind soul who has made it this far and has
any ideas would be greatly appreciated.