Hola,
No entendí bien como quisieras que te devuelva el valor de las horas usadas si en minutos '40' o '00:40:00' etc.
Yo estoy usando los campos en tipo datetime ya que no sabía en que contexto se iba a usar la Query.
Para obetener lo minutos entre dos fechas:
Código:
SELECT TIMESTAMPDIFF(MINUTE , h.h_inicio, h.h_fin ) AS diferencia FROM tu_tabla h
y para obtenerlos en formato '00:40:00':
Código:
SELECT SEC_TO_TIME((TIMESTAMPDIFF(MINUTE , h.h_inicio, h.h_fin ))*60) AS diferencia FROM tu_tabla h
Espero que lo puedas aplicar a tu lógica y haya respondido tu pregunta, si no especifícame un poco más y respondo apenas pueda.