I would guess that your normals are getting messed up somehow, when applying the shader, whether or not it is caused by shader application, or a GDK nuance, wouldnt a solution be to just recalculate them ?
GDK has an inbuilt function to recalc the normals, void dbSetObjectNormals(int objID); not sure how well it works though.
However, knowing exactly what is the cause would be nice, so maybe you could try applying a different shader, of the same/similar type/effect, but written by someone else, that you know works on other pc's and see if it messes your normals, if it doesnt, then i'd say your shader is the culprit.
Good Luck
If it ain't broke.... DONT FIX IT !!!