Well done, your friend has an ATI Rage 3D Pro card.
I got this error, so have many others, and it only ever occurs on this one graphics card [that I know of. My proof is that I know of three people who have got this error (me+2 others), and all of us had an ATI Rage 3D].
Basically, DBC starts Direct3D at a resolution of 640x480, 16bit before anything else. For some reason, this specific card can't handle this resolution & the specific Direct3D settings DBC tries to use.
You could try to find out that secret INI setting that makes DBC programs always start in Windowed mode before they run your code, or just get DBPro [no problems there, although I don't think you'll be running any shaders with those specs].
Better yet, find another cheap graphics card. Anyone will do, it doesn't have to be better than his current one, just different.
[edit]Try updating the drivers. I didn't when I had that card, and this problem may have been fixed (although I doubt it).[/edit]
16-colour PNGs pwn.
