Man, I haven’t played Delores in ages, but I have my theory.
Let’s start with the easiest one, once. That’s for stuff that is available only once. You click it, the dialog script is played, you can’t click it anymore for the whole game.
My guess is that temponce is similar, but gets reset at dialog start. For example, you can choose to show Natalie your photos, and not anymore. But if you exit the dialog, take some new pictures and then talk to her again, you can show her the new photos again.
Then showonce. I couldn’t understand with Morena so I went to Coroner.yack and noticed that in both cases 1) it’s for when there’s a loop of interactions (in Morena’s case, it’s a back and forth of “do you see”, and in the Coroner it’s bickering about the a-who) and 2) the subsequent loops wouldn’t make any sense if not said right after the previous one.
Take the Coroner example, you ask “when did you start adding a-who to everything”, to which he replies that he doesn’t, adding another a-who. Then a showonce dialog line says “right now, you just did it again”.
Imagine NOT choosing that and talking about something else. Would it make sense to allow to say “right now, you just did it again” if the a-who didn’t just happen? That’s what showonce is for - it tells the engine that the line is to be shown only once, and if you don’t click it when it’s shown, you lose it forever.
So, to recap - once is for options that go away when you select them, showonce is for options that get offered only once and then go away regardless of whether you selected them, and temponce is for options that go away when you select them, but reappear when you start the dialog from scratch.
If I’m wrong, the devs can correct me, but I’m pretty confident this is it.