Se la sequenza delle ore e' come hai esemplificato il problema e' di facile soluzione.

Ammesso che sia cosi' e' chiaro che l'ora piu' vicina e' quella che sta tra le 9:16 e le 9:25

quindi se:

8:56 - 9:05 = 9:00
9:06 - 9:15 = 9:10
9:16 - 9:25 = 9:20
9:26 - 9:35 = 9:30

la query sara':

codice:
SELECT * 
FROM tabella 
WHERE '2006-08-18 09:21:00'
BETWEEN mydata - INTERVAL 4 MINUTE 
AND mydata + INTERVAL 5 MINUTE
diversa sarebbe la storia se mydata avesse un valore randomize.