If he's writing for true DOS (and not just a Windows command-line program) he has no choice but to either use segment-offset addressing or use another program (DOS4GW, for example) to put it into protected mode (or write his own, but that would be a slight pain in the butt). DOS programs, without the aid of an extender like 4GW, must operate in real mode; it's a real mode OS.
Originally posted by Salem
> my compiler (Borland 3.1)
Either live with the standard BGI library you have, or as XSquared says, get a better compiler.
You'll be glad you did - no more icky segment offset near and far nonsence.