Firstly, note that all of this is totally independent of Live - absolutely nothing needs to be chosen as the input or output on any Live track unless you wish to feed a midi input using the midiin object or midiout using the midiout object. Within the patch, you can mix the data from either source.
Download the appropriate package for your OS from this website - either "Everything for Mac OSX" or "Everything for Windows":
http://cnmat.berkeley.edu/downloads
Extract the contents to your Cycling '74 folder (or any other folder you wish that is listed as a path in File Preferences).
In the max patch you want to send from, create an object called "js ocs-unroute.js /name" - replace "name" with whatever makes sense to call the message you are sending. There should be one input to this object. If you have more than one message you want to send from that patch, create an object called "js osc-unroute.js /name1 /name2", You should see 2 inputs now. Same deal for 3, 4, 5 messages etc... Link whatever messages you want to send to other patches/programs into the appropriate inputs.
Now in the same patch, create and object called "udpsend 127.0.0.1 XXXX", where XXXX is a port number of your choice (do a google search to find commonly used UDP ports and choose something different). Link the "js osc-unroute.js" object's output to this objects input.
You are done in terms of sending the message - now to receiving.
In the receiving patch, (note other programs can receive the message too, but this is specific for Max) create an object called "udpreceive XXXX" where XXXX is the port number you chose before.
Create an object called "osc-route /name" where "name" is the appropriate one you chose for that message. Link the "udpreceive" object's output to this objects input.
You will see one output. Similar to the sending object, you can choose more than one output and this will create more outputs in the object.
The outputs will now be the exact same message as the input from the sending patch.
A couple of notes...
I may have installed other externals needed for this solution, but I am pretty sure nothing else should be required. If it doesn't work, let me know and I'll look into it.
You may see people say you can use the standard Send and Receive messages in Max. While you can, it is ridiculously unstable and there are horrible delays. So unless the messages are not vital in terms of timing, you cannot really use these.
Really hope this saves people time and opens up more possibilities for people as it certainly has for me.