If I walk through the problem, the 3rd section doesn't open. Troubleshooting, it looks like at the end of the problem, it opens sections based on
$opensection = $last_correct_section + 1;
$scaffold->openSections($opensection);
and if I print out $opensection, then it equals 0 when the problem first loads, 1 after the correct answer is opened in the first sections, and remains 1 after the 2nd section is correctly solved.