The actual test in your select are

Select Case Header
Case Cells(1, x).Value = "dumb", "red", "blue", "green"

' actually means this
Case False, "red", "blue", "green"
The first condition in the select statement will evaluate to False which is valid but not met. I the second code set you have that test and all the available colours. So it works. In the first code set the test is

Cells(1, x).Value = "red"
which evalutates to False except when x=1 then it evaluates to True. But at no time is "red" on it's own compared, which is why when red is tested the column is deleted.

As Noire suggested alter your case conditions.