Andrew,
There are many people who could help you here, but you may want to provide an example to ground your claim.
I do not see a problem with this:
In[366]:= image = Image[{{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}},
ColorSpace -> "RGB"];
In[363]:= ImageData /@ ColorSeparate[ColorConvert[image, "CMYK"]]
Out[363]= {{{0., 1., 1.}}, {{1., 0., 1.}}, {{1., 1., 0.}}, {{0., 0.,
0.}}}