I hope this isn't too late to help. I've been struggling with some of this too, and I think I have the key points wrestled to the ground.
The simple answer is that you can use DSS and/or CCR in any sort of application, not just robotics.
DSS is a library and framework for light-weight distributed applications. DSS is organized around "services" that can communicate with each other and can run on different hosts. MRDS includes services wrapped around a variety of robot hardware, including generic services you can use to manage or simulate many different robots. However, these are just services as far as DSS is concerned. You can create any kind of service, distribute your services across different hosts,and have really "sexy" server/service based applications.
CCR provides a mechanism for doing multi-threaded applications very easily. Objects are posted to special queues called Ports. Threads are/can be dispatched to run handlers that deal with the Ports. (I know; I'm way over-simplifying). The point here is that you can use CCR in any application where you need a lot of carefully managed multi-threading. You do have to use CCR in creating DSS Services, but you do not have to use DSS in order to use CCR.
As for the Visual Programming Language, I'm still working on that. However, you'll find two kinds of things you can wire together: programming primitives and Services. To extend VPL to do things outside of robots, make DSS Services you can wire together.
Hope this helps
Basil B.