se sono campi "ora" io li convertirei con mktime() così altro non sono che interi che puoi gestire tranquillamente con sottrazioni e completare l'array come volevi tu.

oppure provi con : http://it2.php.net/manual/en/datetime.diff.php che non ho mai usato.
fatto sta che, secondo me, ti fai le differenze degli orari e li sommi a quelli successivi per avere quello che cerchi.