[Quest: Investigate the Beach] does not complete under the following circumstances.
1. If [Quest: Retrieve your Belongings] has been completed.
2. If [Quest: Retrieve your Belongings] is open and the player has spoken to Mol.
3. If [Quest: Retrieve your Belongings] is open and the player not spoken to Mol.
Recommendation:
BEGIN
... IF [Quest: Retrieve your Belongings] == complete && [Quest: Investigate the Beach] == open
... ... IF Mirkon == alive
... ... ... IF Harpies == dead
... ... ... ... IF player enters dialogue with Mirkon
... ... ... ... ... set [Quest: Investigate the Beach] == complete // Mirkon can still talk about Doni and Mol, but the quest is okay to end here.
... ... ... ... endif
... ... ... endif
... ... ELSE
... ... ... set [Quest: Investigate the Beach] == failed
... ... endif
... endif
... ELSEIF [Quest: Retrieve your Belongings] == open && [Quest: Investigate the Beach] == open
... ... IF Mirkon == alive
... ... ... IF Harpies == dead
... ... ... ... IF player enters dialogue with Mirkon
... ... ... ... ... set [Quest: Investigate the Beach] == complete // Mol currently doesn't acknowledge the player saving Mirkon, so it's okay to end the quest here.
... ... ... ... endif
... ... ... endif
... ... ELSE
... ... ... set [Quest: Investigate the Beach] == failed
... ... endif
... endif
END
Note1: Doing something like the above doesn't require new assets, or any dialogue changes. You shouldn't need to adjust any other scripting either. This just handles the use cases where [Quest: Investigate the Beach] does not complete.
Note2: I was re-enjoying the game when I came across this quest bug. I haven't looked at the mod tools yet. Apologies if this isn't how your scripting looks, but you can see what the fix is here.