I've found that to cause CodeXL (in Visual Studio 2010) to properly bind breakpoints in OpenCL code, it can be necessary to add the .cl file to the solution as an 'Existing Item'.
Despite this requirement, CodeXL may list the .cl file in the CodeXL Explorer pane even if the file has not been added to the solution as an 'Existing Item', risking much confusion for the programmer.
CodeXL should not appear to be 'aware' of a .cl file unless it really is 'aware' of it (for the purposes of binding breakpoints). Breakpoints which mysteriously fail to bind are an extremely frustrating time-sink.
(I'm running the latest CodeXL, 1.5.6571.0, and the latest stable Catalyst drivers, 14.301.1001-140915a-176154C, on Windows 8.1. I'm using VS2010 Premium.)