You came 95% of the way to answering your question yourself. You have a parent object reference missing from part of the code making it behave incorrectly if the wrong sheet is active.
    Sheets("CBList").Range("A:A").Sort Key1:=Sheets("CBList").Range("A2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal