Was möglich wäre, daß Du eine Kopie des Inhalts erstellst(tstrings.LoadFile) und dann damit arbeitest.
Auch in diesem Fall gibt es einen kurzen Zeitraum, in dem die Datei zum Lesen gesperrt ist.
Unabhängig davon ist das aber der richtige Ansatz. Eventuell macht das löschende Programm ja mehrere Versuche oder verwendet einen Timeout.