Falls nicht irgendwo nachfolgend "explizit" Funktionen des TFileStream verwendet werden, spricht nichts dagegen die Variablen/Parameter als TStream zu deklarieren.
Dann ist es auch egal, ob TFileSteam, THandleStream, TMemoryStream oder ein anderer Streamnachfahre benutzt wird.
So wie man z.B. auch besser TStrings anstatt TStringList benutzt, womit es dann egal ist, ob eine StringList oder z.B. Memo.Lines beim Aufruf benutzt wird.
Leider wird das Debug-Compilat bei unseren Anwendungen für etwas anderes verwendet.
Du könntest aber auch das Debug-Profil (BuildConfig) ableiten/kopieren und darin dann die gewünschte "Bedingung" definieren. (Projektverwaltung > Build-Konfigurationen > Debug > Kontextmenü: Erzeugen)
Das
{$IFDEF DEBUG}
bezieht sich ja nicht auf den Profil-Name "Debug", sondern auf das DEFINE/Bedingung "DEBUG", welches im Profil steht. (Projektoptionen > Compiler > Bedingungen)
oder
IsDebuggerPresent