Anyway, i'm not sure why anyone would choose CUDA for something cross platform right now anyway. I thought that was the whole point of OpenCL, to create a language that was compatible between different hardware.
Well at this time there are still compelling reasons. Cuda is relatively mature and openCL still has some teething pains (such as lack of language bindings). Even with openCL you still need device specific optimizations to make the most out of it, just because something compiles with openCL doesn't mean that it's going to be optimized for all openCL devices. Also the documentation and resources and tools on Cuda are vast compared to any other GPGPU solution out there. There is also the fact that you have to run blobs at the moment to take advantage of any of the GPGPU solutions at present. I'm sure if you searched the forums you can find a few posts out there showing the difference's between openCL and Cuda (such as memory management).
Those are just a few reasons, there are many others but it basically boils down to a case of a mature solution vs a solution in progress.