Hi, thanks for sharing this issue.
The Tests Window doesn't work very well for the ignore/unignore options when set to organise tests by category. The reason for this is because of the way ignored tests work internally in the engine.
When you ignore a test, the engine creates and stores a configuration setting that includes a selector targeting the test, depending on how you've chosen to ignore it (i.e. by fixture, project, test, etc). It's not a state flag on the test itself, but rather a wildcard system that targets all tests according to specific criteria. You can find these in your NCrunch config files (they are stored in the XML).
It's done this way because ignore settings need to go beyond the lifespan of individual tests. For example, if you ignore a fixture, it's reasonable that any new tests discovered under the fixture would be automatically ignored.
This structure falls down when it's used to specify tests being shown across multiple dimensions. When the Tests Window is set to group tests by category, for the selectors to make sense, we would need to have a category-based ignored test selector, and any selectors used to target fixtures underneath the category would likewise need to have a context specific to the category. If you were to specify an ignore selector on the category, then switched your Tests Window back to a different grouping, suddenly everything gets very confusing, because the tests being ignored are chosen by selectors working across multiple dimensions. So immediately it's not clear why a test is ignored without actually going into the config files yourself and reading the XML. The UI masks all of this complexity.
So instead the simplest, least confusing option is to only have ignore selectors work when the tests are categorised according to project structure. It is not possible to ignore by category, but it IS possible to ignore tests that are shown by category.
Generally, the ignoring of tests is something that's done more for compatibility reasons (i.e. to shut off legacy tests that don't work under NCrunch). If you find you're regularly using this feature to control test execution, then using the filters attached to the engine modes would be a much more flexible alternative.