1) You cannot PoSetPowerState without device_object, device_object will be created usb3 driver to present usb3 controller abstraction to Windows
2) PoSetPowerState used to inform windows about current power state, what you do next after windows marked device as D0 ?
3) Better reverse ms usb3 8.0 driver(use win10 usb3 sources as base), find place where controller is resetted, change wait time or inject your additional code
4) Think about why are some additional delays/power states - solution to the problem ? I have repeatedly written that the driver will reset the controller, you will reset it second time(or you - first, driver - second), and what will it give ?