Does Hilbert's $\varepsilon$-calculus have any real problem when using for incomplete systems? In Mathias' paper Hilbert, Bourbaki and the scorning of logic (see https://www.dpmms.cam.ac.uk/~ardm/hbslmag2.pdf), he mentions Hilbert's $\varepsilon$-calculus (and thus Bourbaki's $\tau$-calculus) is not suitable for incomplete systems. But he did not elaborate if there is any real problem (like inconsistency or incapability) with it.
Obviously Hilbert hoped to use $\varepsilon$-calculus to prove the completeness of systems like ZFC, and failed as we know. But this does not mean $\varepsilon$-calculus itself has any problems.
So, is  Mathias' criticism out of his personal flavor of logic and educational reasons, or there is any real problem for $\varepsilon$-calculus in incomplete systems?
 A: I am no expert on this subject, and it has been many years since I've read Bourbaki's Theory of Sets and do not have a copy available to me, but I'll point out a couple of things I see in this paper.
First, at least some of his argument appears to be valid. Bourbaki's formalism does lead to some very misleading statements. As an informal conception, in Bourbaki's theory somebody has listed out every possible relation $R_x$, and chosen, once-for-all-time, an object for each - if possible one that if substituted for $x$ would make $R_x$ true. This selected item is written as $\tau_x(R_x)$. In the actual theory, they are just formal symbols and the interpretation is supported by the chosen axioms. So $\tau_x(x = 1) = 1$ while $\tau_x(x \ne x)$ could be anything at all. But the key thing is, it is still some object that can be considered. In particular, for any $R_x$, you can prove
$$(\exists b)(b = \tau_x(R_x))$$
even when $(\exists x)R_x$ is false. ($(\exists x)R_x$ is short-hand for $R_x(\tau_x(R_x(x))$.)
This becomes a problem when combined with the set builder notation: $$\{x\mid R_x\} := \tau_y((\forall x)(x \in y \iff R_x))$$
Therefore, while the statement $$(\exists y)(\forall x)(x \in y \iff x \notin x)$$ is provably false in Bourbaki's formalism, the statement
$$(\exists b)(b = \{x\mid x\notin x\})$$
is provably true. It just means something different that we expect it to mean. The natural, even intended, interpretation of $(\exists b)(b = \{ x\mid x\notin x\})$ is that there is a set consisting of every set that is not an element of itself. But in Bourbaki's theory, $\{ x\mid x \notin x\}$ exists but is an object with no connection to the relation $x \notin x$.
Thus Bourbaki is consistent here (as far as I can see), but does it by subtly changing the meaning of the notation from what we expect.

On the other hand, some of his criticism appears to me to be unfair. For example from page 22:

B-13 Thus there is an acute difference between the normal use, in $\bf ZF$ and many other set theories, of the class-forming operator $\{\ \mid\ \}$ with the Church conversion schema $x \in \{x\mid R\}\iff R$ holding for all classes whether sets or not, and the Bourbaki treatment whereby, magically, conversion holds for a class if and only if that class is a set.

where he apparently fails to understand that in Bourbaki's theory, there is no such thing as a "proper class". The only objects are sets, so "conversion holds for a class if and only if that class is a set" makes no sense, as the only interpretation possible for the word "class" is "set".
Now of course one may prefer to have a theory that allows classes. But the failure to include classes in this theory is not a problem with the theory itself, only in our expectations. To pretend that the theory is mishandling a concept when in fact that concept does not appear in it is disingenuous.
