Timstamps на PHP са просто цяло число, докато now()
на MySQL връща стойност за дата и час. Най-вероятно това ще коригира заявката:
SELECT ... WHERE user_regdate < unix_timestamp(now() - interval 7 day)) ...
По принцип без извикването unix_timstamp() сравнявате ябълки и портокали.