Timing issues. Although the mid-term exam is nominally a one-hour exam, I try to find additional classrooms, and allow students to come early and/or stay late, in order to provide extra time for those who want it. To the extent practical, and consistent with ensuring that no students feel unfairly deprived, I want each person to have as much time as she needs, although sometimes scheduling makes this hard to accomplish. Almost all students finish the exam. Typically a few say they didn't have enough time, but their papers generally show that they didn't have a strong understanding of the material, and worked slowly because they had to guess at what to do as they went along, and were relying on the book to learn things that they should have known already. However, I sometimes decide that a particular student would have done better with additional time, and in that case I make a one-of-a-kind adjustment in my grading. (For a clear-cut example, think of a student who gives near-perfect solutions to the first 8 problems, working them in order, and leaves the last 2 blank.)
Cheating. Fortunately, this is not an issue for me. We have an honor code, which seems to work well. I talk briefly (but earnestly!) about the honor code in class in advance of the exam, but don't do anything else. Typically, I'm not in the room during the exam, except a few times when I come back to see if anyone has questions.
Rationale for the mid-term exam. I'm satisfied with the current arrangement for assessment. The course as I teach it divides naturally in two parts, and the mid-term exam is timed to come at the end of part one. I think the exam serves two main purposes. First, it provides an occasion and incentive for students to review and integrate their understanding of the first half of the course. Second, I think it gives a useful reading of where students stand at that point in the semester, in terms of their conceptual understanding of the material.