they should all be reachable i think -- the way it works is that it cycles through 'fight' -> 'tower scene' -> 'another fight' loop, counting up the way the fights end.
winning with any part of your suit still on gets you 'rainbow dragon' points, winning stripped to underwear / jock / naked gets you 'strip' points, and losing gives you 'infection' points. once one of them hits three, you get the relevant ending after the fight. so the other two endings you haven't got should be gettable by losing fights: one with the 'bad ending' flag turned on, the other with it turned off.