DDERR could mean only Direct Draw Error, nothing else. And I thought that if there's something unsupported in "Screen16.cpp", it can be the colour depth.
There's a program called dxdiag (Direct X Diagnostics). You may try to run it (press Win + R on your keyboard, a dialog pops up, you write "dxdiag" in it (without quotes) and Enter). There is number of tests for all parts of DX, so you maybe can try to execute them all and see if some of them fail.