There is really very little problem here.
Note that in XCS, the GA occurs either in the match set or in the action set (recent work has used the action set). Either way, crossover cannot generate a non-matching combination such as 001, since the parents both match the same input. Think about it a moment and you'll see this.
As for mutation, yes, it is possible to generate something like 001, which won't match. And a few such classifiers are always present in the population. However, they all disappear eventually, since every classifier has a finite probability of deletion, under the deletion methods that I have used.
What if crossover or mutation generates a sensor code other than 000 (blank), 010 or 011 (rocks), 110 or 111 (food)? For example, what if you crossed at a point that combined 000 and 011 into 001 and 010? How would you interpret 001? Or is crossover defined such that it cannot occur within a sensation and is mutation defined such that it mutates between blank, O, Q, F, G, and #?