zeptimo... te recomiendo cambies el tipo de dato de las horas de time a timestamp.
De esta forma haciendo uso de timediff te retorna el resultado que quieres.
Te doy en un ejemplo a lo que me refiero y tu nos dirás si te sirve o no.
Código mysql:
Ver originalQuery OK, 0 rows affected (0.01 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
+---------------------+---------------------+
| fecha1 | fecha2 |
+---------------------+---------------------+
| 2009-05-09 12:19:24 | 2009-05-07 08:00:05 |
| 2009-05-09 12:19:29 | 2009-05-09 08:00:05 |
+---------------------+---------------------+
mysql
> select timediff
(fecha1
,fecha2
) from fechas5
;+-------------------------+
| timediff(fecha1,fecha2) |
+-------------------------+
| 52:19:19 |
| 04:19:24 |
+-------------------------+
Fijate en las fechas, una es dos días atrás, y cuenta bien las 52 horas que transcurren.
la otra, es de hoy mismo y transcurre 4 horas desde las 8 de la mañana.
De esta forma, no te preocupas si pasaron 1, 2 o n dias.
Un saludo.