Besides that i (personal) think that creating that selection box just to destroy it a little moment later is a big waste.
The creation process is not that performant and and you will run into a difficult logical flow because of 'cant select a just created object before the next top level event'. Now, that last one you solved in an elegant way, still, it is a fix.
Just set it visible/invisible when you need it. Doing it that way, you can still check for overlaps after the mouse is released.
If you insist on that create/destroy process, then you have check for overlaps before you destroy the selection box.
The selection box is alive in event 420.
So just add to event 420.
Pick all Demons
...... action ... set selected to false <--- just reset the situation for all
.......sub event ... Selection box Is Overlapping Demons <---- more performance then the other way
.............action ... set selected to true
.............action update something visual so you can see that they are selected