Edit: Also, if the DDfix patch causes you any trouble (such as the directx thing) you can also try disabling multiple cores for the game, which is how I solved the immediate crashing.
Toggling your CPU affinity so that the game runs on a single core fixes a surprising amount of issues in older games. Guess their programmers didn't expect we'd be still trying to play their games on quad core systems. ;) With the game running, bring up the task manager and find the game's .exe in the Processes tab -> right click, select "Set Affinity..." -> deselect all but one CPU -> click "OK" -> profit!
You'll have to do this every time you start the game, unless you've got a program that does it for you.