I have had a lot of success troubleshooting BSOD's using Microsoft's debugging tools. If you configure windows to save a memory dump (not a mini-dump), you can analyze the memory.dmp file using WinDbg. It will ususally tell you the driver, dll, sys, etc. responsible for the crash (not the one reported on the blue screen, but the actual driver responsible), along with the specific instruction that caused it.

I recommend downloading the symbol sets for whichever version(s) of windows you are going to debug (I keep them on a CD). Otherwise, the progam takes a long time to download the symbols it needs from the web each time you run it. It will still check the web for updated symbols.