Der Abstürz dürfte damit begründet sein, dass du den Stream freigibst, er danach aber nicht Nil ist. D.h. der nächste Schreibzugriff baut dann eine AV.
Machbar wäre das mit FreeAndNil, aber dann würde beim nächsten ankommenden Datenblock der Filestream neu erzeugt und womöglich das alte gelöscht.
Warum nimmst du nicht eine weitere Property/Variable, in der gespeichert wird, ob gerade aufgenommen wird oder nicht? Die fragst du in der StatusProc ab, und speicherst die Daten nur dann, wenn der Wert True ist.
_________________
We are, we were and will not be.