Код конечно не дельфишный, но вот мне несколько непонятно, какие значения cx и xy у вас собственно используются? А вот так покатит?
Код:
GetClientRect(&clientRect);
glViewport(0, 0, clientRect.right, clientRect.bottom);
...
gluPerspective(30.0f, clientRect.right/clientRect.bottom, 1.0f, 15.0f);