OK, managed to fix problem 1, which is the perspective matrix.

I had to basically throw away the helper libraries for both API's and write my own

The second problem (the triangle verticies being ina differnt order) is fixed as well. Turns out I forgot that the glColor call needs to be before the glVertex call in Opengl.