Which should you use, and when? ALL of the SDK/help doco talks about SC.D.SOC, but it's a fairly odd interface, and some of the demo code (TaskAllocation service) uses SC.SO.C.
SC.SO.C seems a bit less generic (eg not based on ADO.NET, which we're not a big fan of) but the complete lack of documentation (such that I've found) makes it more difficult to use.
My BIGGEST question would be "does the SC.SO.C API work remotely, or only on the K2 servers themselves?" I'd also like to know which is reccomended, and when?