Nested if statements with 3 different parameters
Others are giving you refactoring ideas, so I will just focus on one statement in your original code that is repeated 4 times. 

allCompleted = ((allCompleted) ? true : false); 


Look at this. You are inspecting allCompleted. If the value is true,  you're setting it to true. If it is not true, you're setting it to false. You are setting it to what it already is in a sort of non-intuitive way. You could very well rewrite it as the below and have the exact same meaning.

allCompleted = allCompleted ? allCompleted : allCompleted;


Simplify that to 

allCompleted = allCompleted;


And then simplify that to leaving it out altogether.

if(runPart1.Checked)
   if (cmdPart1 != "done")
      allCompleted = false;


Code can be complicated enough as it is. Try not to add further complexity by including code that can be non-obvious in the fact that it does nothing at all!