Il tuo problema è che la versione breve delle date utilizza la mezzanotte come impostazione predefinita. Quindi la tua domanda è in realtà:
SELECT users.* FROM users
WHERE created_at >= '2011-12-01 00:00:00'
AND created_at <= '2011-12-06 00:00:00'
Questo è il motivo per cui non vedi il record per le 10:45.
Cambialo in:
SELECT users.* FROM users
WHERE created_at >= '2011-12-01'
AND created_at <= '2011-12-07'
Puoi anche usare:
SELECT users.* from users
WHERE created_at >= '2011-12-01'
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
Che selezionerà tutti gli utenti nello stesso intervallo che stai cercando.
Potresti anche trovare più leggibile l'operatore BETWEEN:
SELECT users.* from users
WHERE created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));