Do you or do you plan to include OPC functionality? If not, I think it would open up a huge potential for connectivity. I know it's possible in VB.net, I just never got around to messing with it. But if your package could connect to an OPC service, you'd literally have a pathway for almost every make and model of PLC to connect to the software. The only downside is you'd need a separate OPC progam like Kepware or (shudder) RSLinx to interface with it. But at least you wouldn't have to develop every platform independently.