The only way I was able to reproduce the behavior you described here was if I "resized" the appointment by dragging the bottom edge up past the top. This will cause the StartDateTime and EndDateTime to become the same value, and this is by design; MS Outlook exhibits the same behavior.
When you try to make the EndDateTime earlier than the StartDateTime (which is what happens when the bottom edge is dragged above the top edge), one of two things has to happen - the attempt fails, or the StartDateTime is adjusted accordingly. In this case it seems perfectly reasonable that the appointment should then be moved along with the mouse, since the user is still dragging it.