Problem when adding DHXBlockTime items to view

I am currently adding DHXBlockTime items to the calendar to show when staff members are not working.

For staff working hours I am currently adding them in the following format:

[code] for (int day = 0; day < 7; day++)
{
int startOne = StartOfDay;
int endOne = SevenAm;
int startTwo = TenPm;
int endTwo = EndOfDay;

           ...

            var zones = new List<Zone>();
            if (endOne == startTwo)
                zones.Add(new Zone { Start = startOne, End = endTwo });
            else
            {
                zones.Add(new Zone { Start = startOne, End = endOne });
                zones.Add(new Zone { Start = startTwo, End = endTwo });
            }

            unavailable.Add(new DHXBlockTime()
            {
                Day = (DayOfWeek)day,
                Zones = zones,
                Sections = new List<Section>()
                {
                    new Section(viewName, new string[] {driver.ID.ToString()})
                }
            });
        }[/code]

This works fine.

I also need to add periods when staff are away from work for various reasons. These are specific days and times so I am adding them in the following format:

            [code]unavailable.Add(new DHXBlockTime()

{
StartDate = away.StartDate,
EndDate = away.EndDate,
Sections = new List()
{
new Section(viewName, new string[] {away.EntityPersonStaffId.ToString()})
}
});[/code]

The list of DHXBlockTime objects is then added the calendar as follows:

        [code]foreach (var block in unavailableBlocks)

{
scheduler.TimeSpans.Add(block);
}[/code]

The problem is that when I have entries added using specific date/times then any entries that I have added using the day of week do not show on the days that they are for. The ones for specific dates also start to show as weekly occurring entries in the calendar!

I am currently using assembly version 3.3.6309.23562.