C言語では、符号付き整数のオーバーフローは未定義動作なので、何がおきてもおかしくないです。
BCC 5.5.1で提示されたコードをコンパイルしたexeファイルをobjdumpで逆アセンブルし、main関数に相当しそうな部分を予想して取り出すと
コード:
401150: 55 push %ebp
401151: 8b ec mov %esp,%ebp
401153: 53 push %ebx
401154: 56 push %esi
401155: be 28 a1 40 00 mov $0x40a128,%esi
40115a: bb f8 ff ff 7f mov $0x7ffffff8,%ebx
40115f: 53 push %ebx
401160: 53 push %ebx
401161: 56 push %esi
401162: e8 85 27 00 00 call 0x4038ec
401167: 83 c4 0c add $0xc,%esp
40116a: 03 db add %ebx,%ebx
40116c: 53 push %ebx
40116d: 53 push %ebx
40116e: 8d 46 0e lea 0xe(%esi),%eax
401171: 50 push %eax
401172: e8 75 27 00 00 call 0x4038ec
401177: 83 c4 0c add $0xc,%esp
40117a: 8d 56 1c lea 0x1c(%esi),%edx
40117d: 52 push %edx
40117e: e8 69 27 00 00 call 0x4038ec
401183: 59 pop %ecx
401184: b8 01 00 00 00 mov $0x1,%eax
401189: 50 push %eax
40118a: 50 push %eax
40118b: 8d 56 22 lea 0x22(%esi),%edx
40118e: 52 push %edx
40118f: e8 58 27 00 00 call 0x4038ec
401194: 83 c4 0c add $0xc,%esp
401197: 8d 4e 2c lea 0x2c(%esi),%ecx
40119a: 51 push %ecx
40119b: e8 4c 27 00 00 call 0x4038ec
4011a0: 59 pop %ecx
4011a1: bb f8 ff ff 7f mov $0x7ffffff8,%ebx
4011a6: 53 push %ebx
4011a7: 53 push %ebx
4011a8: 8d 46 32 lea 0x32(%esi),%eax
4011ab: 50 push %eax
4011ac: e8 3b 27 00 00 call 0x4038ec
4011b1: 83 c4 0c add $0xc,%esp
4011b4: 03 db add %ebx,%ebx
4011b6: 53 push %ebx
4011b7: 53 push %ebx
4011b8: 8d 56 40 lea 0x40(%esi),%edx
4011bb: 52 push %edx
4011bc: e8 2b 27 00 00 call 0x4038ec
4011c1: 83 c4 0c add $0xc,%esp
4011c4: 8d 4e 4e lea 0x4e(%esi),%ecx
4011c7: 51 push %ecx
4011c8: e8 1f 27 00 00 call 0x4038ec
4011cd: 59 pop %ecx
4011ce: b8 f0 ff ff ff mov $0xfffffff0,%eax
4011d3: 50 push %eax
4011d4: 50 push %eax
4011d5: 8d 56 54 lea 0x54(%esi),%edx
4011d8: 52 push %edx
4011d9: e8 0e 27 00 00 call 0x4038ec
4011de: 83 c4 0c add $0xc,%esp
4011e1: 5e pop %esi
4011e2: 5b pop %ebx
4011e3: 5d pop %ebp
4011e4: c3 ret
となりました。
定数同士の計算式は、その結果で埋め込まれていることがわかります。
さらに、コンパイル時に
コード:
raw1.c:
Warning W8056 raw1.c 14: Integer arithmetic overflow in function main
という警告が出ました。
したがって、コンパイラが未定義動作である符号付き整数のオーバーフローを検出し、適当な値で置き換えたのであると推測できます。