It's too bad that you have to do this work with one hand tied behind your back.
Like you, I don't think c3d has any commands to manipulate the orientation at the depth that you need.
The general advice is to go back as far as possible in the processing chain and to use software that complies with the NIfTI and DICOM standards (or at least misinterprets them consistently). dcm2niix is highly trustworthy in my experience, whereas using MATLAB or R routines that let you access the raw matrix data while bypassing the header information can easily lead to the mess you describe.
I can't grasp the story of your data from your two posts, but it seems that you have DICOM data from some scanner and a set of segmentation labels in NIfTI format. If the latter does not match the former, it means that whoever generated the label set interpreted the orientation in the DICOM data differently from you. To reverse-engineer that interpretation, you need to examine the headers carefully. I'm sure there are MATLAB tools for this, but I don't know what they are.
No guarantees, but it might help if you describe the processing path that your data went through from the beginning.
Rolf