The answer to #1 and #2 are the same. GPUs are advancing at a much greater rate than CPUs, and optimized software can get a much greater speed improvement out of more GPUs than more CPUs.
OpenCL code will be sent off to any CPUs or GPUs your computer has on hand, that can handle the calculations the fastest. Programs running OpenCL code will absolutely run on two GPUs at once. No Crossfire/SLI is needed, the operating system simply sends related (but independent) tasks off to separate GPUs, just as it would send tasks off to more than one core of your CPU. OpenCL code can still run on CPUs, too, but in many cases the sort of operations OpenCL is running run much faster on GPUs. This is because GPUs are set up to run a lot of simple operations in parallel, the sort that's important for 3D gaming, but in abstraction, those sorts of operations are also useful for other kinds of computing work, too. Processing an image, or video (lots of images put together), isn't so different from rendering a 3D model. A lot of scientific work also depends on a lot of those sorts of operations. By putting all that work onto hardware that's been optimized for that sort of work, you can get significant performance boosts.
While not every task of every program will run better through OpenCL on a GPU, the more tasks you can send to the GPU, the faster the program will run. GPUs remain specialized hardware, whereas CPUs are general-purpose. It's all about identifying where the specialized hardware is specialized, and letting it do what it does best.
I understand how OpenCL (and other GPGPU frameworks) works and why it can be very advantageous for particular workloads (not everything can be parallelized), I guess my point was whether professionals working in video/audio/3d/etc are actually using OpenCL-based software and how widespread that is... Essentially, are they actually getting a benefit versus have a second CPU and more RAM.
----------
what are you rendering? a model but who drew it? the most time consuming part for the user, by far, is the modeling phase.. a typical project for me would be something like 4 days to model/texture, 1/2 day to run previews, 4 days to render..
..
for the 4 days of modeling, the time i'm actually sitting at my computer and interacting with it, i want the highest clock speed available.. all of ...
So that begs the question, how much off the life/interactive rendering calculations are done on the CPU vs the GPU. And if it is mostly GPU-limited, can most popular 3D programs use BOTH GPUs at once (whether through OpenGL itself or OpenCL or whatever).
What my interest is is whether Apple's Mac Pro would be faster for most workloads with a second CPU versus the second GPU...