No lo obligaría al usuario a decir cuantos asientos quiere y que después tenga que seleccionarlos. Lo dejaría seleccionar todos los que quiera y que después indique si alguno de esos es para menores.
IMO, el flujo de reserva es: el primer paso (si la función es numerada), es seleccionar n asientos. En el siguiente paso indicar promociones y si algún asiento es para menores (si no fuera numerada tb la cantidad de mayores). 3er paso es el checkout (sólo para compra). Por último mostrarle los datos de lo que reservó/compró.

La única utilidad que le veo al limitar es si no queremos permitir que hagan reserva de más de X asientos, para evitar que se reserve todo el cine.