I tried out your bitmap loading routine on SDL (I don't have/use Borland) and with a few modifications I was able to load the bitmap perfectly.
This is my code, you can probably implement it using BGI.
Here's a screenie of the bitmap it loads (as you can see, flawless):
void wking(int sx,int sy,display *screen)
ifstream ifil("wking.bmp", ios::in);
for (int i = 0; i < 60; i++)
for (int j = 0; j < 40; j++)