Using UndeleteOnClick, can a file be undeleted if even part of it has been overwritten by other files?

Yes, a file is still restored even if only part of it can be restored. The file will contain bits from other files, or junk, but it will still undelete what it can.