You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers. No questions about C++ programming or topics which are answered in the tutorials!
Well, you need to make sure that you don't lock any driver ressources in your app, etc. You can use the DX debug settings to find the actual reason that reset failed.
You can use the DX Control tool from DX SDK to enable the debugger. I cannot tell you how the lock and unlock works, I have to read this stuff up on MSDN each time I add something to the DX drivers