Hi Nick,
Are you seeing this with both application trace mode and performance counter mode? The first thing to do is to make sure the option to generate occupancy information is enabled for your project in the GPU Profiler pages of the Project Settings dialog in CodeXL. Assuming that it is, can you check to see if you get occupancy information generated when profiling one of the APP SDK sample applications (a simple one like MatrixMultiplication would be a good one to try).
If that works ok, then there might be something specific that your application is doing that is causing this. Make sure your application is calling clReleaseContext to destroy any OpenCL contexts created. The profiler will dump occupancy data to disk when this API is called (this is not the only time it dumps to disk, but apps that don't call clReleaseContext may not have all their data logged properly).
The other thing to try is to attach a debugger (ie gdb) to your application after it has been launched by CodeXL to see if gdb catches any segfaults or other exceptions.. If the application segfaults, then this might explain why there is no occupancy data -- I have see a few cases in the past where an app might segfault only when run by the profiler, and in some cases the segfault only shows up when you have gdb attached.
If none of the above leads to any clues, and if you are able to share your application, I can take a look at why the profiler won't generate occupancy for the app.
Thanks,
Chris