У глаголов есть возможность обозначать одни и те же действия в разных видах: (1) как реально происходящие (в изъявительном наклонении), (2) как возможные (в сослагательном, условном наклонении) и (3) как стимулирующие к действию (повелительное наклонение).
Например, в реальности произошли два последовательных события (он пришёл на помощь, и трагедия не состоялась). Мы можем описать эту связь, акцентируя внимание слушателей на временном факторе (сначала он пришёл на помощь, а после этого трагедия уже не состоялась), или же сосредоточив его то на причине предотвращения трагедии (трагедия не состоялась, потому что он пришёл на помощь), то на следствии его действий (он помог, так что трагедия не состоялась). Мы можем представить эти действия не только как закономерно свершившийся факт, но и подчеркнуть наличие элемента опасности, когда спасение висело на волоске, если бы не осуществилось важное условие – подоспевшая помощь. Это как раз предполагаемый оттенок смысла рассматриваемого предложения.
И ещё один важный фактор: особенностью обозначения взаимосвязи этих двух события является то, что реальная причина обозначена с отрицанием, а следствие – позитивными средствами. И когда мы захотим передать это сообщение в условную связь двух событий, то отрицание в нём сохраняется (если бы не …, то было бы... так). Поэтому переводя обозначение действия в главном предложении в сослагательное (условное) наклонение, мы должны согласовать не только наклонения, но и наличие отрицания в другой части предложения.
Вывод:
Если в изъявительном наклонении было бы – «Он тогда ночью пришёл на помощь, так что трагедия не случилась», то в сослагательном наклонении это пишется и звучит так: «Если бы он тогда ночью не пришел на помощь, случилась бы трагедия». И это правильный вариант.