It doesn't seem possible in the calendar to move an already existing event to the end of a day where that event would overlap into the next day. Am I missing something or is this just not possible? An example would be that you had an event that starts at 10pm and ends at midnight. If you try to move that event to 11pm (where it would end at 1am the next day), it cannot be done.
Yes, you're right. The current implementation doesn't allow that.
You might use DayBeginsHour and DayEndsHour as a workaround (it will let you customize the start and end hour so the midnight won't be at the end of the grid).