Strange query optimization issue - logically the same, different performance
You really need to provide SHOW CREATE TABLE.  A guess is that autoid is a different type in the two tables.  A strong clue is the 8 (BIGINT?) and the 12 (some kind of VARCHAR or DECIMAL?).

Redundant:  Donor.autoid = Visit.autoid is in both the ON (where it belongs) and the WHERE (where it is harmlessly redundant).

When JOINing, please qualify all columns -- which table are FName, VisitDate, etc, in??