I came across this paper which is a rather interesting read: http://pc51.plm.eecs.uni-kassel.de/plm/fileadmin/pm/courses/pvI07/SL06.pdf.
It describes (as the title suggests) common mistakes in OpenMP programs, and gives some generic techniques to avoid them. The paper is meant to be read by teachers and casual OpenMP programmers.
-erik