Labeling non Muslim to others should not be in hands of layman but in hands of those who are expert of Islamic jurisprudence (fiqh). You will hardly find any Muslim who never committed any sin in his life so if committing one sin take you outside the fold of Islam then you will never find any Muslim there.
I also have different opinions about declaring kafir to Ahmadi by Pakistani state. The difference between Ahmadi and others muslim is that we(mainstream Muslims) are waiting for second coming of Christ(PBUH) and also imam mahdi while ahamdi believe that they have been appeared in form of their mirza ghulam ahmad. We cosnider imam mahdi and Christ as two different personality while they believe mirza is boht Jesus as well as mahdi. We think jesus(PBUH) was not died and they think he traveled to india and was buried in Kashmir and they also attribute certain verses of Quran to mirza ghulam ahmad. They also believe mirza was the likeness of Krishna to attract hindu followers. Its very lengthy debate which need separate topic because they also have two sects and differ to each others in beliefs and practices
The basic requirement for a person to be considered a Muslim are , 1) you believe in oneness of Allah and finality of Prophethood that he(PBUH) is the last messenger of Allah and considering Quran as words of Allah and then believe in rest of the prophets, life hereafter etc. God said in Quran that he can forgive anyone but not those who commit shirk and shirk is when you associate any partners to God.
As far homosexuality and islam concern then read this to get the idea
Religion and homosexuality - Wikipedia, the free encyclopedia