When learning is turned off, you want to evaluate the state of the learned system. It is still possible for a column which has never won before (an "unlearned column") to win during this testing phase. This messes up the evaluation so the code disallows that.  It is particularly important when the temporal pooler is in the mix since it will not have learned any sequences with unlearned columns.