pnp, my advice? Don't immediately try to kill the program. It is not the way to do it.
For example, MAME actually saves cfg/nvram changes on exit. With the way you're nuking the program, programs won't close properly and do the file IO that they're supposed to.
if (!runProgram.CloseMainWindow())
{
runProgram.Kill();
}
This way, if the emulator is nice enough to just let you close it, you can do it without ---smurfing--- up its behavior, but if it isn't nice enough, you nuke it from orbit.
I have experience with this because I built the same feature into Big Blue.