I know this post is kind of old, but if anyone else is still looking for a solution to the calendar CSS bug here it is. I noticed the issue with the ForeColor propoerty of the OtherMonthDayStyle tag. If I used a CssClass it would override it and give the <a> tag style with the color as black. It is stupid to force a ForeColor attribute in the control. Anyway the solution is as follows.
.calendarOtherMonthDay
, .calendarOtherMonthDay a, td.calendarOtherMonthDay
{
color:#808080 !important;
}
Adding !important forces the chage to be made. Also note that with thte calendar control the actual text for dates and other items are actually wrapped in other tags such as <td> or <a> so you may have to specify those in your CSS as I did here. Hope this helps someone. Took we a while to find the solution for my calendar. Needless to say I was very frustrated for a very long time.