Amendment 2 stated that no law could be enacted to bar discrimination on the basis of a homosexual or bisexual orientation, nor could such discrimination be grounds for legal action. The law did not apply to heterosexuals. If it had, it might have withstood court scrutiny. As it was, it placed a barrier between homosexual Coloradans and the law-making process that didnt exist for any other group. The issue was not about whether or not homosexuals should be a protected class. It was about equality before the law.
That is a good argument. In that sense the amendment was poorly drafted and probably incapable of acheiving the ends for which it was drafted.
However, the state still has a right to regulate behavior and in that sense I think it is perfectly legal for the state of Colorado to bar any lawsuit for discrimination on the grounds that the person engages in behavior that the state wishes to discourage. Clearly we can (in most cases) discriminate against prostitutes and drug addicts. The state has a rational basis for refusing to grant those people any kind of special priviledges including the right to claim discrimination based upon a dislike for that behavior.
Behavior is not an immutable characteristic.
Frankly I think all laws prohibiting or granting the right to sue for discrimination of any kind by private individuals or companies should be abolished. But that's another thread.