TDateってTDateTimeをtypedefしただけで、時間も保持してるみたいだから、
時間部分の差で>>367みたいなことになったんでない?

EncodeDate使ったり、
Dtp1->Date = (int)Now() - 1;
Dtp2->Date = (int)Now() - 7;
ってやれば大丈夫だと思う。