It's like this. We have two copies of the same gene (called alleles), one from your mother and one from your father. Ginger is a recessive allele, i.e. that it isn't expressed when the dominant allele is present. So your mother must have had both recessive alleles from your grandparents. So I'm assuming that your father isn't ginger. Therefore you inherited the dominant allele but you carry the allele for ginger hair (because your mother doesn't have the dominant allele). Things like baldness and colour blindness work different. You get it from your mother because the mutation is on the X chromosome which means that if you are a male, you have the Y chromosome also and this lacks certain genes which can override the effect of the mutation of the effected X chromosome. If there is a geneticist reading this then feel free to correct me. It's the summer and my brain is switched off for another few weeks.
No. It doesn't follow at all. You're still thinking in terms of a single determining 'gay' gene. It may be that you need a combination of certain genes. Those individual genes may be relatively common in the population but having the 'correct' combination is relatively rare. It doesn't matter whether the person who ends up having that combination has children or not, the genes will still be present in the general population. Yet another possibility is that there is more than one genetic way of 'becoming gay'. For example, there's hundreds of different genes that regulate growth so at least as many potential 'genetic reasons' why an individual ends up tall or short or thin or fat.