Tja, wenn du Minuten und Stunden getrennt verwaltest, dann mußt du bei der Subtraktion der 15 Minuten natürlich auch die Stunden anpassen, wenn es einen "überlauf" gibt.
Eine Stunde abziehen, wenn es weniger als 15 Minuten sind.
Edit3.Text := FormatTime (h - IfThen(m < 15, -1, 0), MinutesRounded (m - 15));
Aber, jetzt natürlich nicht vergessen, daß aus 0:05 Uhr jetzt -1 uhr würde.
Also mußt du hier natürlich auch wieder auf die 24 Stunden achten.