Wer sagt, dass du keine RTC benutzen sollst?
Für mich hat die RTC zwei Funktionen:
Einmal die Zeit weiterlaufen lassen, auch wenn der Controller keinen Saft hat
und zum zweiten eine genauere Zeitbasis als dies mit dem Controller möglich ist. Außerdem kannst du meistens noch ein paar Byte abspeichern.
DCF ersetzt dir nur die zweite Funktion. Wenn der µC wieder los läuft, musst du erst einmal eine oder mehrere fehlerlose DCF Übertragungen bekommen, damit du die aktuelle Zeit wieder setzen kannst.
Beides zusammen würde ich wohl nicht verwenden, dafür ist die Abweichung der RTC normalerweise zu gering.
Wenn du die interne Taktquelle verwendest, hast du einen Fehler von bis zu 3%, was an einem Tag schon eine halbe Stunde ausmachen kann.
Mit einem externen Quarz kommst du auf vielleicht 10 Sek. pro Tag. Mit einem zusätzlich angeschlossenen Uhrenquarz (32768Hz) im normalen Temperaturbereich auf etwa 2 Sek. pro Tag. Den Rest musst du durch Stellen beheben.
Wenn du stündlich mit DCF synchronisierst hast du praktisch keine Abweichung.
Warum sich der µC aufhängt, kann ich aus deinem Codeschnipsel nicht erkennen. Wie äußert sich das denn? Macht er einen Reset?

Gruß

Rolf