GLSL Shader getting corrupted

Just wondering if anybody has ever seen an issue where a shader what compiled and linked correctly will randomly start producing the wrong thing.

Basically, what I've got is a GLSL vertex shader that does vertex blending, and on some systems it will produce corrupt rendering (as in vertex positions in random places completely disjoint from where they should be). The two systems it's been seen on are ATI X1600 based MacBook Pros running 10.5.3. Other Machines I've tested (GF7600, HD2600, GMA950) all work fine.

Strangely enough, if I use OpenGL Profiler to interrupt the app, and recompile the shaders, then everything pops back and runs fine for eternity (or a close approximation there of). I guess that suggests that something else I'm doing is corrupting the shader, but it's going to be difficult to find out what.

I guess the attributes could be binding in different locations on this hardware, and exposing a bug, but as it's intermittent in nature I wouldn't have thought so. Doesn't explain why the recompilation helps either.