I think that heartaches can exist for a variety of reasons, but all of them boil down to love. Not in terms of sexuality, necessarily, but love for a person that you care about, like a child or a friend.
There are so many ways that one can love another person. The Greeks had something like 7 or 8 words for love. In struggling to express the inexpressible, we fall painfully short as human beings. It is love that is the defining characteristic of our being created in the Image and Likeness of God. That unselfish and unrequited love that God IS is reflected in our love for others. The love I feel in my heart is often times not able to be adequately expressed (or accurately, either) and so I feel the pain of a heartache.
My heartaches are not always caused by being hurt by the ones I love, but by being hurt on behalf of the ones I love. Sometimes, it's simply that there is so much love that my heart cannot hold it and it aches with the weight.
My heart is aching today for so many of my loved ones. There are so many people in my life who are suffering. Whether it be a bad day at school or work, or more serious challenges, like illness, there are so many suffering. The mother in me wishes I could take every one of them to my heart and hug away the pain, but my arms are not long enough and my heart is not big enough.
So today, it aches.