If you don't have data in row 2, you will keep pasting to the same column until you do, then you will move across one.
Does this version work:
Sub ProcessWorkbook(wbk As Workbook, wbkDest As Workbook)
    Dim Letter As String
    Dim rngDest As Range
    Dim wksDest As Worksheet
    Dim iCol As Long
    
    Letter = wbk.Sheets("Results").Range("A2").Value
    Select Case Letter
        Case "A", "C", "M"
            Set wksDest = wbkDest.Sheets(Letter)
        Case Else
            Set wksDest = wbkDest.Sheets("Else")
    End Select
    With wksDest
        If Len(.Cells(2, 1).Value) = 0 Then
            iCol = 1
        Else
            iCol = .Cells(2, .Columns.Count).End(xlToLeft).Column + 1
        End If
        Set rngDest = .Cells(2, iCol)
    End With
    wbk.Sheets(2).Range("A1:A30").Copy
    rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub