88chrisb: None of the solutions that I've seen helped. ...
mefistotelis is right, that it also could be a DLL problem, so I'd check your system. Did you update from Windows 8 to 8.1? Maybe some things didn't update correctly.
I'd try running a system file check (SFC), even if it can take hours (be prepared).
- Open a command prompt (cmd.exe) with admin rights
- Run this command: sfc /scannow
- Wait till it's done
- Reboot your PC
Now I'd run Deployment Image Servicing and Management (DISM) and check if other installed packages or Windows features are corrupt
- Open a command prompt (cmd.exe) with admin rights
- Run this command: Dism /Online /Cleanup-Image /RestoreHealth
- Wait till it's done
- Reboot your PC
- (you could run the above mentioned "sfc /scannow" again, but I'd try running the game now first)
Also make sure DirectX9 is correctly installed on your system. Install this:
http://www.microsoft.com/en-us/download/details.aspx?id=8109 Un-install and re-installl DKII. Don't install it into the Program Files or Program Files (x86) folder, but into a custom one, like C:\GOG-Games\Dungeon Keeper 2\
Now check DKII
If it still crashes with the same error, try running it in Compatibility Mode and if it still doesn't run, try running it as Administrator.