Robin - your experience is probably more relevant to the original question, given that the majority of us delegate all the clever bits to off-the-shelf software, but I did wonder if you've ever looked under the covers of LinuxCNC, given that it is open-source. Is there anything there that might help someone developing their own machine control application?