What happens if you attach a depth surface yourself before calling CreateDeviceFromSurface? Does d3drm replace it?
Tried creating a device with a surface with a depth surface attached to it, got HRESULT as 0x887602e9. The error lookup tool doesn't know what it means, nor it seems to be a d3drm error.