For me I found it more flexible to drive the CM15a directly. I have used the CM15A in various projects to control or respond to all my devices (switches, sensors, cameras, etc). I've never used the C# interface but do most of my programming in VC++ (ver 6 - 2008).
All clocking, communications to the server, video recording, video broadcasting, texting, etc is done through my application and the CM15A is only used to drive or respond to the X10 devices. Used in this manner I am pleased with the X10. Antenna modification is a must...