your thinking logic is not correct.
G28 is used to home an axis VIA another position.
C is absolute so you are telling it to go to C0 then it tries to zero return
But at this point you are already at zero return C0 so you get that alarm.
You can try incremental G28 H0 (H is the incremental axis for C so there's no movement then it should go home). This is equivalent to G28 U0 V0 W0
Or go home via another absolute position like G28 C10
Or just G0 C0 in the program.
On later controls with battery-backed position encoders you don't need to zero return an axis unless it is out of position or not already zero returned. Even if it's not battery-backed you don't need to zero return any axis unless you power off/on. It'll run all day to the correct positions just using G0/G1 as long as it has been zero returned once.