I call MiniDumpWriteDump from the same process, it is OK. Of course, it will not work in some cases, like stack overflow, or low memory. But in most situations it works and allows to add post-mortem debugging feature to our project.
MiniDumpWriteDump should be called in some kind of global exception handler, as shown in the CodeProject article. So, when something unexpected happens, but the program is still able to run, call MiniDumpWriteDump and kill the process.