Sanırım sebebi dx8-dx9 farkından dolayı..
Hata veren kısmı şu şekilde düzenlemen yeterli. Yani o çağrıdaki orjinal mantığı koruyabilirsin.
lpD3D->EnumAdapterModes(0, iMode, &DisplayMode);
Bununla ilgili konuya not düşüyorum, bildiri için teşekkürler.