The basic problem is that I need the quest to restart itself on completion. I can't get that to happen, so I'm using three more or less identical quests and starting them with a script event. That bit works fine.
The thing is that rather than replicate my scenes and dialogue three times (and have to fix each bug in three places) I set up a scenes quest to do handle the shared content. And then, because I need to reset the scene quest, I needed to move my dialogue into another quest so all my "say once" infos didn't repeat each time the quest ran. And I ended up creating a separate data quest as well, because I wasn't sure which properties would get reset and it seemed like I good idea to keep the data separate from scenes or dialogue.
Anyway, my kickoff quest runs just fine. So in a startup fragment, I try and force equivalent aliases on the data quest. If they all fill I can have hte scene quest (which is about to start) simply mirror the data quest aliases and it won't matter which of the three kicker quests actually provided the data.
The only thing is some of the values that are being passed are None. Which is weird, because sqv shows them all filled.
Conclusion? They're still filling when the fragment runs.
The solution is probably to store the kickoff quest reference somewhere reliable and then start the scene runner. The scene runner can then spin in a wait loop until the aliases are filled and things should proceed from there.
Anyway, I needed to vent a little bit. I hope that's all right.