I'm not sure if the control has built in caching, i looked in there help file and couldn't find anything. Here's my code:
If Not IsPostBack Then
SqlConn.ConnectionString = ConfigurationSettings.AppSettings("SqlConn")
'Populate Calendar
Dim daGetTitle As SqlDataAdapter = New SqlDataAdapter
Dim cmdGetTitle As SqlCommand = New SqlCommand
cmdGetTitle.Connection = SqlConn
daGetTitle.SelectCommand = cmdGetTitle
cmdGetTitle.CommandType = CommandType.StoredProcedure
cmdGetTitle.CommandText = "spGetTitle"
DataCmp.daCourse.Fill(DataCmp.DsTraining, "Course")
DataCmp.daCourseTopic.Fill(DataCmp.DsTraining, "CourseTopic")
daGetTitle.Fill(DataCmp.DsTraining, "spGetTitle")
DataCmp.daInstructor.Fill(DataCmp.DsTraining, "Instructor")
DataCmp.daLocation.Fill(DataCmp.DsTraining, "Location")
DataCmp.daCourseInstance.Fill(DataCmp.DsTraining, "CourseInstance")
CalendarCtrl.DataSource = DataCmp.DsTraining
CalendarCtrl.DataMember = "spGetTitle"
CalendarCtrl.DataBind()
End Sub