My customer was given a demo by Cisco the other day where the shown him that messages can be routed to a csq. Of course, I can not find such a feature available in Cisco documentation. Is this in Unity? If so, how? If this the case wouldn't this option be available in the previous UCCX versions?
It is not an inherent feature but is possible with a fair amount of scripting. Attendees of the UCCXA class are given an example script that does this; however, you should be well versed in UCCX before attempting this particular trick in production. The example code included in the UCCXA class (and unfortunately used by some Cisco partners) is not overly robust or resilient. It is somewhat easy (IMHO) for messages to be lost using that code.
At a high level what happens is the CCX server records a message, hangs up with the original caller, and then calls itself to sit in queue waiting for an agent. When the agent answers it plays the message back to them and may also automatically call the customer back. This consumes system resources, IVR ports, and affects reporting statistics. It can go badly if you don't do it correctly.
The UCCX 5.0 "script repository" might include an example of this: http://tools.cisco.com/search/display?url=http%3A%2F%2Fwww.cisco.com%2Fen%2FUS%2Fdocs%2Fvoice_ip_comm%2Fcust_contact%2Fcontact_center%2Fcrs%2Fexpress_5_0%2Fdesign%2Fguide%2Fscript_repository.zip&pos=1&strqueryid=1&websessionid=oF4lJjsd9A648MkSsJKC2Ue