I have tried to see if I could find any documentation about this change but I find nothing.
That you see this difference between XP and Vista is most likely because of changes to the underlying windows month calendar common control that the .NET MonthCalendar control uses. Since .NET rely on a control outside the framework it may behave different depending on what version of the common controls are available, as you have noticed.
When I look in MSDN about MonthCalendar and the time part for SelectionStart and SelectionEnd it does not really mention anything about it and I would consider the time part of the DateTime structure returned as undefined. To avoid any confusion I suggest you always set the SelectionStart time part to 00:00 and SelectionEnd to 23:59. This will ensure your application will always behave as you expect.