Es gibt unterschiedliche Sichtweisen, ob eine Funktion, die Daten in eine Datei schreibt, auch Daten löschen soll.
Überschreiben ist auch schreiben... der vierte Parameter dieser Funktion ($bOverWrite) ist ja wohl genau dafür gedacht... und der Inhalt der angegebenen Zeile wird ja auch gelöscht... aber das @CRLF bleibt stehen, und das ist falsch, denke ich.
Edit: Hier der Grund...
Code
In dieser Zeile (in der Funktion _FileWriteToLine) wird "" in das Array eingefügt, wenn $bOverWrite = True und $sText = "" ist...
$aArray[$iLine - 1] = ($bOverWrite ? $sText : $sText & @CRLF & $aArray[$iLine - 1])
; ^^^^^^
; ...aber hier wird dann an allen Zeilen ein @CRLF angehangen... und das ist falsch... die gelöschte Zeile dürfte in diesem Fall gar nicht mehr im Array sein.
For $i = 0 To $iUBound
$sData &= $aArray[$i] & @CRLF
; ^^^^^
Next