Setting alternative records true if its even count else leave last record
In the else clause it might be better to have an if statement with a block of code than a continue statement:

    foreach (var attendance in attendancesPerDay)
    {
        if (attendancesPerDay.IndexOf(attendance) != attendancesPerDay.Count - 1)
        {
            if (counter % 2 == 0)
                attendance.In = true;
            else
                attendance.Out = true;
            counter++;
        }
    }


The logic is basically the same and it is easier to see the scope of the code.

To reduce the repetition of the code there could be a short function that takes 2 parameters, counter and attendance and performs the assignment.

As a personal choice I prefer to specify the real type in a foreach loop because it is self documenting, the user of var hides too much.