While this answer doesn't directly answer the main question ("How do I organize events / sets of actions to execute when play begins?") I think it addresses the issue that prompted that question: "I can't seem to make more than a few events happen before the player is put in the first room" and concerns about "clearing things inappropriately."
The final chunk of your code is (among other things) telling Inform not to print the banner text and not to look during the opening questions. (Looking is the action used to display the room name and room description when you enter a room.) So it's not that the title banner and room description are displaying and then getting cleared inappropriately--it's that they're being prevented from displaying in the first place. By the time the questions are finished, the usual moment for displaying the the title banner and initial room description has already come and gone, so they won't display at all unless you trigger them manually.
My guess is that it's not possible to ask a bunch of text input questions (at least, not the way they're set up here) before the first turn of the game, because the text input normally used for player commands is set up to happen in individual turns of the game. So rather than trying to squeeze in all the questions into that "when play begins" period (i.e. before the usual time when the title banner is displayed), I think what would work is to ask the questions in individual turns, but delay displaying the title banner and room description until the questions are finished.
Since your code already suppresses the title banner and initial room description during the questions, I just added in two lines to display the title banner and room description after the second question is answered.
I bracketed out the "wait for any key" line because I couldn't figure out its purpose and it seemed to delay the title banner. But maybe you just wanted a pause there.
I also altered the indentation, etc. of "When Next Scene begins: Now the command prompt is "What will your name be? " section, just because the indentation looked odd to me.
So, try this code and see if it does what you want. This doesn't address later additions/comments about the "reject the player's command" line (it looks like Next Scene doesn't actually end) but I hope it helps with the interruption issue.
Include Basic Screen Effects by Emily Short.
The player forename is some text that varies.
The player name is some text that varies.
To decide whether collecting names:
if the command prompt is "What will your name be? ", yes;
no.
Gender is a kind of value. The genders are masculine, feminine, and unknown.
Understand "male", "man", "boy" or "m" as masculine.
Understand "female", "woman", "girl" or "f" as feminine.
A person has a gender. The gender of the player is unknown.
To decide whether the gender of the player is unknown:
if the command prompt is "Are you male or female? ", yes;
no.
Prologue is a Scene. Prologue begins when play begins.
Prologue ends when Prologue Flag is zero.
Prologue Flag is a number that varies. Prologue Flag is one.
To End Prologue:
Now the Next Flag is one;
now the Prologue Flag is zero.
[I could set the next one to start when this ends]
[but that doesn't seem to stop the title / first room text from getting cleared]
Next Scene is a Scene. "I come next!" Next Scene begins when Next Flag is one.
Next Scene ends when Next Flag is zero.
Next Flag is a number that varies.
To End Next Scene: Now the Next Flag is zero.
When Prologue begins:
display the boxed quotation "Fancy Title Box Text";
show the current quotation;
wait for any key;
clear the screen;
say "ominous introduction text";
wait for any key;
clear the screen;
End Prologue.
When Next Scene begins: Now the command prompt is "What will your name be? ";
After reading a command when collecting names:
now the player name is the substituted form of "[the player's command]" in title case;
now the player forename is word number 1 in the player name;
now the command prompt is "Are you male or female? ";
Reject the player's command;
End Next Scene.
After reading a command when the gender of the player is unknown:
if the player's command includes "[gender]":
now the command prompt is "> ";
now the gender of the player is the gender understood;
if the gender of the player is masculine, now the player is male;
if the gender of the player is feminine, now the player is female;
Say "[line break][the banner text]"; [* new line]
Try looking; [* new line]
[wait for any key;]
Reject the player's command;
End Next Scene;
Instead of looking when collecting names: do nothing.
Rule for printing the banner text when collecting names: do nothing.
Rule for constructing the status line when collecting names: do nothing.
Instead of looking when the gender of the player is unknown: do nothing.
Rule for printing the banner text when the gender of the player is unknown: do nothing.
Rule for constructing the status line when the gender of the player is unknown: do nothing.
Place is a room. "This might not show up, or it might show up prematurely!".