Currently the Registration Block only checks the registration instance capacity and end time when the page is loaded. This allows for users to open the registration page when the registration is under capacity and then complete the registration much later when the registration has reached its capacity.
This is currently not considered a bug, as it is preferable in most cases to allow the user to complete the registration and squeeze them in rather than let them know that they can not complete the registration at the very end. It would be helpful to add a "Enforce Hard Limit" option for cases when it is not possible to squeeze in the extra people (seats at a table, beds in a cabin, seats in a vehicle). This option would enable the registration block to check capacity at each point in the registration process (form load, loading of payment screen, loading of confirmation screen, finalizing registration) and restrict registration if the instance has met its capacity or has an "end time" in the past. Another helpful option would be to allow us to set the notification text that is used.