Not sure what happened, but this gives the right result:
@foreach (EZBooks.ViewModels.BonusDay day in Model.bonusDays.OrderBy(d => d.Date))
{
if (day.Date.DayOfWeek == DayOfWeek.Sunday || day == Model.bonusDays.First())
{
@:<tr>
}
<td data-dow="@day.Date.DayOfWeek.ToString()">
<text>
@day.Date.ToShortDateString()
<span style="font-size:9pt;">
<br />@day.BonusHours h
<br />@day.BonusDollars.ToString("C")
</span>
</text>
</td>
if (day.Date.DayOfWeek == DayOfWeek.Saturday || day == Model.bonusDays.Last())
{
@:</tr>
}
}