By the way, I ended up doing this (see below). Basically, since the header labels shouldn't change, I just split the text file by its delimiter (after replacing the CrLf with a comma) and used the numerical location of each header element in my array. Thanks again for your help!
Code:
Sub ConcatenateRows()Dim fs As Object ''FileSystemObject
Dim tsIn As Object, tsOut As Object ''TextStream
Dim sFileIn As String, sFileOut As String
Dim aryFile As Variant, sTmp2 As Variant, rowA As Variant, rowB As Variant, rowC As Variant, sTmp As Variant, i As Long, j As Long, k As Long, otherRows As Variant
sFileIn = "C:\docs\file.csv"
sFileOut = "C:\docs\file_formatted.csv"
Set fs = CreateObject("Scripting.FileSystemObject")
Set tsIn = fs.OpenTextFile(sFileIn, 1) ''ForReading
sTmp = tsIn.ReadAll
Set tsOut = fs.CreateTextFile(sFileOut, True) ''Overwrite
sTmp2 = Replace(sTmp, vbCrLf, ",")
aryFile = Split(sTmp2, ",")
otherRows = Split(sTmp, vbCrLf)
For i = 0 To 23
If i < 23 Then
tsOut.Write aryFile(i) & aryFile(i + 24) & aryFile(i + 48) & ","
ElseIf i = 23 Then
tsOut.Write aryFile(i) & aryFile(i + 24) & aryFile(i + 48) & vbCrLf
End If
Next i
For j = 3 To UBound(otherRows)
tsOut.WriteLine otherRows(j)
Next j
tsOut.Close
DoCmd.TransferText acImportDelim, , "NewCSV", sFileOut, False
End Sub