Hi Mike,
You need to have a look at the 'FITS HEADER' for the image, and perhaps even post a copy of that here in the Forum.
The Header describes how the FITS image is put together. In this case it should not only describe how many 'Bits' make up the ADU value of each pixel (and whether the data is held in 'Floating Point' format or not), but it should also describe the 'physical dimensions' of the array that contains the image. It must also describe whether the image file contains a simple 'mono' or 'greyscale' representation of the image data, or whether there are multiple arrays with each array containing a separate mono/grey image.
There is no specific mechanism to determine that the 'first' array in a multiple-array FITS file will be assigned to the 'Red' channel, etc., that is a task left to the 'writing' software and to the 'reading' software. Fortunately, where multiple-array FITS images are used, it is 'common practice' to assign the first three to 'RGB' data.
There is also ne mechanism that would cause one of the channels to be 'flipped' - if this is happening then the fault exists either at the 'writing' end, or at the 'reading' end.
Whenever you have any doubts about the 'contents' of your FITS files, it is well worth your while running them through the ESA 'Fits Viewer' ('FV') package - which is a free download. I always use this if I am 'suspicious' about how a FITS image was created.
If one of your channels has been 'inverted', or of your image file does not meet the FITS 'standard', then these anomalies should show up in FV.
Let us know how you get on.
Cheers,