Does someone have experience with using transformation matrices which include scaling, rotation and translation matrices?
Until now I only used rotation and translation and everything was fine and easy to handle. With the scaling part added, I end up with local reference frames with non-orthogonal x,y and z-axis. This makes everything much more complicated (for exact collision detection and so on). Can someone give me some good piece of advice?

The solution it’s quite easy, while doing trasnformations (translations, rotations and scaling) U must keep in kmind you aren’t modifying the objects, you are modifying the coordinate system (not really but that’s easyer to understand).
So if you do a scale like glScale(2,1,1) you must remember that after that a translate like glTranslate(1,0,0); qill end up in :

Finalmatrix = TranslateX * ScaleX, so the translation won’t be of 1, but will be of 2 units.