I don't have a complete answer for you, but presumably you could grab the binary stream via SQL and then save the stream do disk via the %Stream.FileBinary class interface. We manage JPG files through that interface, but I haven't done the fetch via SQL before (so hopefully someone who has fetched a jpg via SQL could comment on that piece)
Mike - thanks for posting this for everyone's benefit! One minor point though - is this a Question (as you created it) or an Article? Is there anything you are asking specifically? (I don't know that there is a way for you to change it to an article at this point but you should note the difference for next time).
xDBC clients connect with Caché over the SuperServer port. This is 1972 on your working system. On the one that isn't working, to find the port do the following navigation in the System Management Portal:
Menu -> Configure Memory
Look at the SuperServer port number and see what that is if it is not 1972
You might take a look at Benjamin DeBoe's iKnow demos which I believe are all sharable with customers. They leverage REST+AngularJS (which cuts down on the JS code you have to write)+Bootstrap (which ships with Caché in 2016.1 I believe to support ZenMojo's Bootstrap flavor). That might be a good starting point for sample code if this is a direction they are willing to explore.