Quoting from my comment:
Judging from the fact that the DONE face and the TODO face look the same above, I'm guessing that your org-todo-keywords are screwed up, so Org mode does not know that it is done.
So I checked your init file and I see this:
... '(org-todo-keywords '((sequence "TODO(t)" "DONE(d)" "WAITING(w)" "SOMEDAY(s)" "NEXT(s)"))) ... So indeed your org-todo-keywords setting is wrong: you need to move the DONE entry to the last place:
...lang-el ... '(org-todo-keywords '((sequence "TODO(t)" "WAITING(w)" "SOMEDAY(s)" "NEXT(s)" "DONE(d)"))) ... The doc string for org-todo-keywords (C-h v org-todo-keywords RET) says:
Each sequence starts with a symbol, either ‘sequence’ or ‘type’, indicating if the keywords should be interpreted as a sequence of action steps, or as different types of TODO items. The first keywords are states requiring action - these states will select a headline for inclusion into the global TODO list Org produces. If one of the "keywords" is the vertical bar, "|", the remaining keywords signify that no further action is necessary. If "|" is not found, the last keyword is treated as the only DONE state of the sequence.
So to be absolutely sure, it's probably best to include a "|" element in the list. That's necessary if you have more than one DONE state, but it's good practice in general:
... '(org-todo-keywords '((sequence "TODO(t)" "WAITING(w)" "SOMEDAY(s)" "NEXT(s)" "|" "DONE(d)")))