You are correct:The rules as they are programmed in the fmax.ini file
for -variant fairy do not correspond to XBoard's idea of it. In
particular
the inital array for Fairy-Max was just the normal FIDE array, so it
was attempting to move a normal Bishop, while WinBoard thought
there was an elephant there.
Note that -variant fairy is not really meant as a serious variant, but
more as a wild-card variant where someone that wants to experiment
with unorthodox pieces (e.g. to determine their empirical values from
comp-comp games, like I do) gets a lot of leeway from XBoard.
In the version I now distribute with WinBoard and which is available
as Debian package for Linux, I even commented this variant out of
the fmax.ini file. The fmax.ini file on my website was still an
older one.
Usually I play -variant fairy starting from a file with positions
(containing
one or more "exo-pieces"), so that XBoard sets up the position in
Fairy-Max before every game, and the discrepancy goes unnoticed.
And usually, before I do that, I have to edit the fmax.ini file to
make
sure Fairy-Max supports the exo-pieces I want to test: Although
XBoard supports 22 piece types and allows all of them to be used in
-variant fairy, Fairy-Max is limited to supporting 16 piece types at
once, where white and black points count as different.
I attached an fmax.ini file that at least defines the pieces present
in the XBoard opening array (plus Archishop, Chancellor and L=Amazon),
so that there is no discrepacy for someone that plays it.