Предыдущим двум: не всё так очевидно, как кажется. Вы выбираете по дате рождения, а не ДНЮ рождения.
Для того, чтобы найти день рождения можно воспользоваться функцией DAYOFYEAR(date).
Должно получиться что-то вроде
WHERE DAYOFYEAR(birthday) BETWEEN DAYOFYEAR(NOW) AND DAYOFYEAR(DATE_ADD(NOW(), 7 INTERVAL DAYS))
@Kerman, спасибо за подсказку. Правда в вашем случае может некорректно отработать, если сегодня 30 декабря, а день рождения — 2 января. В этом случае получится, что DAYOFYEAR(2013-01-02) == 2, а DAYOFYEAR(2013-12-30) == 360-какой-то. Разница между ними будет не 3 дня, как должно быть, а 360-с-лишним. Да и вообще, вместо DAYOFYEAR(2013-01-02) теоретически должно быть DAYOFYEAR(2014-01-02), но 2014-й год не подставится, так как расчёты ведутся в 2013-м.