My apologies for this delayed reply.
1. I've also found some issue with printf in OpenCL2.0 with latest driver. My observation was- a) not getting the expected result from printf (however, same kernel code worked fine when compiling for OpenCL 1.2) and b) printf didn't work (i.e. nothing printed at all) inside a child kernel. I've asked some concerned person regarding this. I'll get back to you once get any update.
2. Please try to run your kernel using any OpenCL2.0 sample from APP SDK. If it works then there may be some issue with your host-side code. Please ensure that you've created the default device queue before running the kernel on selected OpenCL2.0 device. You may also check whether get_default_queue() returns a valid device queue or not before enqueuing the child kernel.
Thank you for your answers.