Подправил, пришлось добавить ещё массив и цикл, а также по понятным причинам, строки не могут оставаться на своих местах, они смещаются в зависимости от сортировки и наличия разных значении времени...
Код:

#include <Array.au3>
#include <File.au3>
$String = FileRead(@ScriptDir & "\source1.txt")
Dim $aStrArray = StringSplit(StringStripCR($String), @LF)
Dim $aNewArray[1], $aChanelsArray[1][1]
For $i = 1 To $aStrArray[0]
$sTVShow_Name = StringStripWS(StringRegExpReplace($aStrArray[$i], "((, |)\d\d:\d\d)", ""), 3)
$aTVShow_Time = StringRegExp($aStrArray[$i], "(\d\d:\d\d)", 3)
$iUbound = UBound($aTVShow_Time)-1
If $iUbound < 0 Then
$aChanelsArray[0][0] += 1
ReDim $aChanelsArray[$aChanelsArray[0][0] + 1][2]
$aChanelsArray[$aChanelsArray[0][0]][0] = $i
$aChanelsArray[$aChanelsArray[0][0]][1] = $aStrArray[$i]
ContinueLoop
EndIf
For $j = 0 To $iUbound
$aNewArray[0] += 1
ReDim $aNewArray[$aNewArray[0] + 1]
$sSeperater = " - "
If StringLeft($sTVShow_Name, 1) = "-" Then $sSeperater = " "
$aNewArray[$aNewArray[0]] = StringStripWS($aTVShow_Time[$j], 3) & $sSeperater & $sTVShow_Name
Next
Next
_ArraySort($aNewArray, 0, 1)
For $i = 1 To UBound($aChanelsArray)-1
$aNewArray[0] += 1
_ArrayInsert($aNewArray, $aChanelsArray[$i][0], $aChanelsArray[$i][1])
Next
_ArrayDisplay($aNewArray)
_FileWriteFromArray(@ScriptDir & "\dest1.txt", $aNewArray, 1)