Does changing the line 575 (in device.d, dlls/d3d8) to be
if (ppBackBuffer) IDirect3DSurface8Impl_AddRef((LPDIRECT3DSURFACE8) *ppBackBuffer);
make any difference - Looks like the app is doing an odd way to work out how many back buffers there are.
Jason