Hello Scott,
I understand what you consider the good display of multichoice questions but this is not how it currently work. A choice is marked as right or wrong (green or red) only if it was chosen by the student.
The fact that the choice was a right or wrong answer is not indicated in this way (but you can choose to display "the correct answer is ... to display the correct answers to students).
The all or nothing question type contains absolutely not code for question display, because it just use the code from the core multichoice question.
You can try this yourself: create an ordinary multichoice (not an all or nothing question) question choosing the "Multiple answers allowed" option and you will see that the behaviour is exactly the same.
If you want to change that, and if you have some php knowledge, you would have to create a new file question/type/multichoiceset/renderer.php and put some code in it to extend the multichoice_multi_renderer class (don't forget to put require_once($CFG->dirroot . '/question/type/multichoice/renderer.php'); at the beginning). The function you must change is formulation_and_controls and specifically the lines
if ($options->correctness && $isselected) {
$feedbackimg[] = $this->feedback_image($this->is_right($ans));
$class .= ' ' . $this->feedback_class($this->is_right($ans));
} else {
$feedbackimg[] = '';
}
to remove the $isselected