Sicher, dass der Compiler dafür keinen Code produziert? Kann ich mir kaum vorstellen.
if FileExists(BaseDir + 'matlex.chm:Zone.Identifier')
stimmt schon, denn ich möchte ja nicht wissen, ob die Datei matlex.chm existiert, sondern ob sie einen Datenstrom namens Zone.Identifier hat. Du könntest den Test natürlich auch weglassen und nur
DeleteFile(BaseDir + 'matlex.chm:Zone.Identifier')
aufrufen, wirft ja keine
Exception wenn die Datei oder der Datenstrom nicht existiert, sondern liefert nur False zurück.
Edit: Nochmal getestet, sowohl FileExists als auch DeleteFile funktionieren wie gezeigt mit alternativen Datenströmen.