Is there a BeforeAppointmentsMoved event for the WeekView? I see it in the DayView, but can't seem to find a suitable event in the week view.
The only way to preemptively prevent dragging appointments through the public object model is to set each Appointment's Locked property to true. You could reverse the drag operation after the fact, in response to the AppointmentsDragComplete event, if you did something like take a snapshot of the SelectedAppointments (so you have their start times before they are changed) in the UltraCalendarInfo.BeforeSelectedDateRangeChange event.
Do you have a suggestion on how I can prevent users from moving appointments in these views or a way to cancel them if they do?
No, UltraWeekView and UltraMonthViewSingle do not expose any such event. If you like you can submit a feature request for this.