Cita: dicha tabla tiene un campo llamado "fecha" (de tipo DATE) y otro llamado "hora"(de tipo TIME)
¿Porque no hiciste 1 solo campo tipo DATETIME?
De todos modos, puedes hacer:
SELECT * FROM tabla WHERE (fecha BETWEEN 'inicio' AND 'final') AND (hora BETWEEN 'inicio' AND 'final')