A: Indeed there is. MySQL's implementation of ALL and ANY is buggy.
(See the MySQL differences page at
http://infolab.stanford.edu/~ullman/fcdb/oracle/my-nonstandard.html . Some of the differences are out of date, but the one about ALL and ANY is still a problem.)
Try reformulating your query using an aggregate function in your
subquery instead of using the ANY or ALL operator.