Upon further testing, I believe there may be a bug in the approval/waitlist process.
Say I have a session with five seats which requires approval, but also has a waitlist.
Scenario A: Five students register for the session and are approved, the sixth person automatically gets added to the waitlist in position 1. Anyone following the sixth person gets added sequentially to the waitlist (and thus added to the course as users drop out).
Scenario B: Seven students (A-G) register for the session, and the first five (A-E) are approved. Student H then attempts to register, but since the course is full, he is automatically added to the waitlist. If one of the original five approved students is removed from the registration, Student H automatically takes the free space because he was on the wait list. As long as there are student on the wait list, the Instructor cannot approve Students F and G.
Essentially, the waitlist supersedes any approval process in place for the session. Since the wait list is tracked by date and not date/time like the approval process, it seems that the approval process is (currently) better suited to handle a ‘waitlist.’