Добавьте
X++:
dsSpecies.fetchMode(QueryFetchMode::One2One);
...
dsBreed.fetchMode(QueryFetchMode::One2One);
и outer join лучше передвинуть после inner join - не очень любит Аксапта смешивать эти связи на одном уровне
И еще.
Если у вас на таблицах прописаны релейшены, то можно не вызывать addLink(), а прописать relations(true); на датасорсах