Those errors might be generated by CodeXL's internal mechanisms trying to update the status of the shader and programs. This is a known issue and will be fixed in a future release of CodeXL.
1. To make sure this is the case, you can set breakpoints on glDeleteProgram and glDeleteShader and observe that the messages only appear after the respective delete for each object.
2. To make sure your code is not actually generating errors of its own (e.g. by keeping the to-be-deleted object in a member somewhere and performing queries), you can either:
A. Set a breakpoint on glGetProgramiv and glGetShaderiv as well as glDeleteProgram and glDeleteShader, and see if your application performs any queries after deletion
B. Set a breakpoint on "Break on OpenGL Errors" and see if any of your OpenGL calls are generating errors (this is useful otherwise as well =) ).
C. Set a breakpoint on OpenGL debug output, by opening the OpenGL debug output extension settings dialog under CodeXL's breakpoints menu; checking both boxes in the "general settings" pane; and checking "API Error" in the categories pane.
3. If the errors are indeed being generated by CodeXL and you do not wish to see them, you can stop them from appearing by opening the OpenGL debug output extension settings dialog under CodeXL's breakpoints menu; checking only the "enable" box in the "general settings" pane, and clearing all the checkboxes in the categories pane. This essentially tells CodeXL to set the debug output settings to an empty reporting mask, which means no messages will be shown.
Hope this helps,