Thanks for your post. Generally, if you copy and paste an appointment it will obey the original time span that was set. The only time this is not the case is if you happen to copy and paste while in week or month view. The reason is that when you paste an appointment you are telling the system when the start time is. In the week or month view, the system is not being told when the start time is, other than it is starting on a certain date. This is why it defaults to an all-day appointment.
If you were in either week or month view, please delete the copied appointment, swap to “Day” or “Day of Week” view and redo the copy and paste. You should find that the appointment will obey the original hour length.