Ciao mod^2.
Mi hai messo la pulce nell'orecchio e in effetti ricontrollando a dovere il codice la parte relativa agli if è superflua. Ho provato prima a risolvere tramite concatenazioni di datediff per ore, minuti e secondi e quello che mi ha fuorviato.

Altra boiata l'aver definito mod una funzione anzichè un operatore. Scusate, dopo una giornata passata a 40° non so più nemmeno come mi chiamo.