I have seen this happen before. The round by round report has some bad math in it. The battle report can falsely show units being eliminated.
In your battle summary it shows the 4th Ohio Militia has 40 hits, and it received a total of 30 during the battle.
In the round by round combat report the displayed hits received is not specific to that individual round, it instead displays the total hits received up to that point. However, the health of units is updated from round to round, this can lead to bad data.
If your report was accurate then the 4th Ohio militia would have received a total of 50 hits in combat. Which is impossible since it only has 40 hits to take. Going into the 4th round the unit has already taken 22 hits and then supposedly takes 28 more in that round...
I don't really understand it - I'd guess it is safer to rely on the data in the battle summary, not the round by round.