It appears that the likelihood method was returning lower energies because of the bug in the expected_inten function. This function was dividing by cos(theta) rather than multiplying by it. After fixing it, the energies agree much better with version 2.42:
I want to look at the showers where the energies disagree:
Shower 3, v. 3.03, Shower 3, v. 2.42In every case the chisquare method ends up stuck on a site. The likelihood method is better for all of them, sometimes substantially, and sometimes only slightly.