It's not actually
biblatex that is incompatible with
biblatex loads and uses
etoolbox for many things. And it's not actually
texapi, which is loaded by
MastersDoctoralThesis also loads
etoolbox, so when you say
etoolbox has already been loaded by
yax has already overwritten its
will not load
etoolbox again, because LaTeX loads packages only once. So
etoolbox will not overwrite the definitions from
The error can be avoided by making sure
yax is really loaded before
etoolbox. We also save the definitions of
\letcs to be able to switch between them later.
It is sometimes really hard to get TeX to work.
Note that uses of commands defined by
yax may break in the document unless you switch to
texapi's definition of
\letcs and that commands defined by
etoolbox may break if you don't switch back quickly enough.
Avoiding groups (which may have undesirable side effects) this can be done roughly as follows
\let\letcs\texapiletcs % switch to texapi definition
... do stuff with yax ...
\let\letcs\etoolboxletcs % go back to etoolbox definition
If at all possible I recommend you look for an alternative to
yax. I'm also not too fond of
MastersDoctoralThesis (it appears to me that it usually causes more trouble for people than necessary), so if you still have a chance to switch to a more standard document class, that's something you may seriously want to consider.