Eu acho que nesta situação você vai ter que usar uma transação.
- Iniciar a transação
- Insira os registros a serem adicionados a uma tabela temporária
- Faça uma junção entre a tabela temporária, MovieSched e MovieSchedSignUp para verificar se o número de registros (combined temp e MovieSchedSignUp) não é maior que o tamanho máximo.
- Se estiver OK, faça a inserção
- Se OK, eles confirmam a transação, caso contrário, revertem a transação.