Chris,
I don't think your example of +0.5 -0 illustrates a single sided tolerance. It is still bi-lateral, just not symmetrical. If you can make parts that are too big (over +.5) AND parts that are too small (under the -0) then it is bi-lateral.
A better example of single sided tolerance is flatness. If parts must be held flat within 0.030, then 0.030 is the upper spec and there is no lower spec (zero isn't the lower spec, it's the target). This is the situation where Cp doesn't apply and only the upper Cpk equation is used.
I think you still need to calculate Cp and both Cpk values to check for the possibility of making parts that are too big and too small. The only exception I can think of is if you have some natural limit on the process that simply can't be exceeded.