As you guessed, the C++ standard dictates that stdlib.h be the same as that defined in the C standard, which only dictates the functions it must provide - it does not force the writer to implement the functions in a certain way. Clearly, then, two versions of stdlib.h written by different people and released with different compilers are going to be different.
If I had to guess, the problem here is that _EXPFUNC isn't defined anywhere that the compiler can see. Are you feeding the stdlib.h from Borland to your Microsoft compiler? That's a bad idea. Use the one that came with the Microsoft compiler.
You'd be better off switching to the C++ <cstdlib> header anyway.