An alternate approach would be to enhance LiveCode. This allows a contribution to the community. I'd like to be part of that.
Your contributions would be more than welcome - making sockets more flexible would be good for everyone using LiveCode... It is an area of the engine which has not seen much love in recent years.
Do all five platforms have to be accounted for in a change? That is, can I do Windows and OS X and encourage others to help with other platforms?
Ideally contributions are cross-platform - at least for the platforms it makes sense for. In this case though, most of the code for sockets is cross-platform - there are some minor differences in the code for Windows, but the UNIX based systems all use the same codebase. As it stands, only the desktop platforms support sockets - we've made some movement towards getting them up and running on mobile platforms with the integration of SSL there, but haven't yet had a chance to finish the plumbing in (mainly to do with servicing the socket's fd's in an appropriate way). Apart from the socket code (which mostly relies in opensslsocket.cpp), the rest of the code for syntax and such is all cross-platform - so if it works on one platform it will (perhaps I should say 'should') work on the rest.
How do I make sure what I create is acceptable?
The main process is to setup your own github account and create a clone of the main livecode repository (you only need to have your own clones of the sub-modules if any work you do touches them - in this case I think it is unlikely that it will) then create a branch off of either master or develop to start working on your contribution (in this case I'd probably suggest 'master' since it makes it the most portable in terms of patching into releases). When you're happy with it, or want someone here to take a look for guidance or help just send a pull-request with that branch on github - this makes it easy for us to look at.
In terms of coding style and such, we generally ask that when modifying existing code that the style is similar to the surrounding code - I'd imagine what you'd be proposing to do will be patches to various parts of the existing source so just use common sense and use comments to explain what the additions do (as our engineers take on the burden of maintenance of third-party patches we have to have at least some idea of how the code works).
If in the process of modifying code you also fix some bugs you notice, do mention this as we can then see if we can tie things up to a bug number - looking at the Quality Center at the moment there do seem to be a fair few issues with various areas of sockets.
I plan to find and join the right mailing list and do the right things to get started in helping.
This forum is essentially the 'mailing-list' you are looking for (we did originally intend to have a mailing list, but the general consensus at the time was that forums were better).
If I add multicast to Livecode without adding socket options to LiveCode, it might be like this:
I fear that your knowledge of sockets far out-weighs mine in this area so I might defer you to @runrevfraser to help out here since he knows more about this kind of thing than I