Hello All. Sorry to resurrect this old thread, but I was having the same issue until I realized what was going on, so I thought I would post an explanation for others that may come across this. When starting up a quest, the startup stage apparently needs to complete before any scenes can be called to start. The exception is of course if the scene has the flag "Begin on quest start" ticked. This creates a problem if, like in my case, the scene that starts depends on the outcome of a function:
;Stage 10
kmyQuest.StartUp()
;Script
Function StartUp()
If Condition A
SetStage(20)
Else
;do nothing
EndIf
EndFunction
;stage 20
AwesomeScene.Start()
The above will fail with the papyrus error 'scene could not start because its parent quest was not running'. This happens because the starting stage (stage 10) was not completed before AwesomeScene.Start() was called. Stage 10 calls StartUp(), which calls Stage 20, which calls the scene start(). The solution is to either have only 1 scene start with the flag mentioned above, or call your function asynchronously using CallFunctionNoWait() to allow stage 10 to complete:
;Stage 10
kmyQuest.CallFunctionNoWait("StartUp", New Var[0])
;Script
Function StartUp()
If Condition A
Utility.Wait(0.1)
SetStage(20)
Else
;do nothing
EndIf
EndFunction
;stage 20
AwesomeScene.Start()
Hope this helps someone! Cheers!