bueno según tu arreglo, debería el 3 de mayo tener 5 horas y el 19 de mayo 20 horas, no es así....
Ahora me gustaría saber mas o menos como te esta saliendo en el calendario...
segundo, me puedes pegar el PRIMER SQL que genera desde PHP?? ya se que me has dicho que esta bien, pero quiero descartar