Schick doch dem lesenden Programm eine Message, wenn fertig.
Oder (müssen die Daten unbedingt erst als Datei abgespeichert werden?) schick die Daten direkt an das andere Programm.
IsFileInUse, aber ohne Polling geht auch das nicht.
Und CloseHandle der schreibenden Anwendung zu hooken wäre etwas übertrieben.