salomj: DDraw
SoftwareDevice=0 vs. SoftwareDevice=1
Just to add for folks like myself still googling this problem, the steps I found effective were:
1. Right-click Tropico2.exe and choose Troubleshoot Compatibility
2. Let it set the compatibility - it will go with WinXP SP3
3. When you test, you will get an error. Ignore the error.
4. Hit Next and tell Windows that the settings worked.
5. Try to launch the game. If you get 3 crashes in a row, edit Tropico2.ini
6. Change the value for DDraw: SoftwareDevice. If it's 0 make it 1, or vice versa.
7. Try launching again. Repeat steps 5-7 until you make it into a game.
In my experience, Safe Mode got no better results than the main .exe, and what value you set under SoftwareDevice doesn't matter, only that you changed it. Yes, I have to repeat steps 5-7 almost every time I launch the game. Once you're in a game, though, you're golden. Maxing out the resolution with in-game settings caused me no problems, and is remarkably sharp on a giant 4K display. DO NOT change the 3D rendering setting to "Hardware." I had to reinstall after doing that, but reinstalling did let me narrow my troubleshooting steps down to the above, which have been reliable since then.