When Cost Codes are turned on, uploading a Journal Entry from Excel or Velixo, or even just opening a new Journal Entry results in the default cost code auto-populating - even for the default project X.
This means that reporting by Cost Code will have all sorts of extra entries in it if you are pulling information from the GL.
Of course, a "work around" would be to have a default cost code that is never used in a project but that eliminates the value of having a default cost code for projects.
The fix is to not auto-populate Journal Entries. Generally, you wouldn't be making a journal entry for a project. You would be using a subledger or the project module.