I've have now dicovered that the BC V4.x compiler is trash...
It's calling conventions are all messed up, I use pure stack calling
with returned values in the regs.  It assumes when double is returned it is
left on the FPU stack (Watcom does not!).  So I can't use it.  If you
are not going to use FPU stuff (like no decimals or anything!)
then you can use the following on your own risk.  (just get Watcom)

To use the BC v4.x compiler:

  Get 'bcc32.zip' from my homepage, it includes:

  bc2exe.bat  (just like c2exe and asm2exe)
  bcASM.EXE   (c program in convert borland ASM to MASM format)

What it does differently:
  - the OBJ files the compiler makes is rejected by DLINK (not OMF compatible)
    so I use -B to output to ASM format and then use a util I made
    call BCASM which converts the ASM file into something MASM can handle
    and is then compiled thru MASM.

If you don't like all this then get Watcom...

I't just too old of a compiler.  Maybe BC v5.0 will be able to do it...

BC2exe.bat and BCASM are provided 'as is'.
