I know of a few volunteer firestations and private security companies that use RSVP Pro as a rostering system where staff/volunteers sign up for 'shifts' they can do.
RSVP Pro can do everything you are talking about.
* Limit the number of attendees per event/repeat
* Require registration requests to be approved by the event creator/jevents admin user
* registration open and close dates and also a separate cancellation date limit too (you can also disable cancellations altogether if you prefer)
* Available slots display decrements automatically
* Confirmation emails to attendee and organiser
You can also create invitations and reminders.
There are demo videos available:
http://www.jevents.net/jevents-club/demo-videos