Votre problème est que la version courte des dates utilise minuit par défaut. Votre requête est donc :
SELECT users.* FROM users
WHERE created_at >= '2011-12-01 00:00:00'
AND created_at <= '2011-12-06 00:00:00'
C'est pourquoi vous ne voyez pas le record de 10h45.
Changez-le en :
SELECT users.* FROM users
WHERE created_at >= '2011-12-01'
AND created_at <= '2011-12-07'
Vous pouvez également utiliser :
SELECT users.* from users
WHERE created_at >= '2011-12-01'
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
Ce qui sélectionnera tous les utilisateurs dans le même intervalle que vous recherchez.
Vous pourriez également trouver l'opérateur BETWEEN plus lisible :
SELECT users.* from users
WHERE created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));