Problem with normals / smooth shading ( visible triangles on flat surface )
Yup, it's the n-gons.  One workaround is to select the edges that you want be sharp, hit Ctrl-E, click "Mark Sharp", and then enable "auto-smooth" under the mesh data.
Hope that helps!