I've had several campaigns where mission scripts have had really strange RNG, like a mission with 0.33 probability not occurring for 12 months in a row even though the requirements are met (the mathematical probability for something like this being less than 1 %).
Would it be possible to include a debug log, for example before this check in GeoscapeState::determineAlienMissions()? If the debug log showed which potential missions proceeded to the RNG check, at least you might be able to rule out any bugs before that? (Looking at the RNG code it would be far more intrusive and spammy to add debugging there.)
// level three condition check: does random chance favour this command's execution?
if (triggerHappy && RNG::percent(eventScript->getExecutionOdds()))
{
relevantEventScripts.push_back(eventScript);
}