I think a lot of the problem here is adding orientation to the game before the idea of extramarital breeding, leading to some confused code. That is, as far as the game is concerned, marriage = children, so only creatures that would commit to each other (if they were sapient) can even have children (even if they are non-sapient) which is highly unrealistic.
Many animals aren't picky about what they'll mate with, and some may even prefer same-sex, but typically you'd expect a healthy bull penned with a bunch of cows to directly lead to a bunch of pregnant cows, regardless of that bull's personal preferences.
Honestly I think the system of setting each individual creature's absolute orientation in stone at birth so that they can never marry or form a relationship with someone opposed to their orientation is kind of an unrealistic to begin with - along with 'strongly' homosexual or heterosexual individuals, there are plenty that fall somewhere in the middle. It would make more sense to place each individual creature's orientation at some point on a sliding scale, and evaluate that along with other factors such as personality and shared experiences in determining whether or not two creatures will form relationships or marry - to say nothing of cultural values, etc. Also it would be nice if it were tied to caste, not just gender, for interesting modding systems, like a noble caste that will usually only marry other nobles or something. The whole system feels a little half-baked compared to Toady's usual work.