Uh... There is no "more complicated" method of using setrenderstate, its ALWAYS required. Everything in DX revolves around it. Without it, there are no lights, no ambient, no zbuffer, no blending. Nothing...
D3D devices are all the same in how they are used and setup. The settings of the device may not be able to screwed around with once they are initialized, because of code within the game that replaces the changes you've made, or reloading it. If you can't access direct3d device directly try accessing the dx device and from there call the direct3d device.