You can try running Outpost 2 under a debugger. A good free one is
OllyDbg. (I've been using version 1.10, though I see there is a 2.0 now). Should be able to just download, unzip, and run, no installation needed.
Open OllyDbg. Use OllyDbg to open Outpost2.exe. Run the game using hotkey (F9), or the menu, or the toolbar button. Reproduce the crash in game.
If the game raises some kind of exception, it will likely be caught by the debugger before being handled by the game. That should cause it to pause execution and give control to the debugger. It will likely present a view of the code section, with assembly code, at the point where the problem occurred. The memory address of the highlighted line will be the EIP value. There will also be a register section at the top right, which should also list the EIP value, along with all the other registers. The bottom right is the stack, which can also provide hints as to where things went wrong.
The EIP value is the main thing of interest. If you're uncertain of what you're looking at, or think additional detail might be helpful, a screenshot would also be good.
There's a chance the debugger might not catch anything, and it'll appear the game terminated normally. That might happen if the game detects an error and just calls abort. I'm uncertain if the debugger would intercept that before the game closes. From what you described, something of the sort may be happening, though it's hard to know for sure.
Anyway, really appreciate it if you gave it a try.