I really haven't used dftp for a while myself, but according to the man page, the clear option doesn't clear uninstalled packages from the archive.
dftp uses it's own /root/packages/.installed file to know what packages are installed. It may have been that your dftp /root/packages/.installed file was out of sync with the dpkg data base. The dftp scaninst command should be run as the first step in a dftp session. That uses information from dpkg to create the .installed file. There is also a dftp verify command that should be run after downloading but before unpacking. The dftp man page explains it all pretty well. Tom