The explanation is quite easy. Some RGB images have a CTYPE3 = 'RGB' keyword (for Aladin compatibility[1]). It implies the existence of WCS axis 3.
The missing keywords for axis 3 (e.g. CD3_3) assume their default values. The default value for CD3_3 is 0.0, leading to a singular matrix.
The Cdfix routine tests for it and fix it. In consequence there is no problem using it. And this is also the reason why we need to extend the size of the tab.
[1]: Aladin considers a 3D FITS cube as a RGB image (Red, Blue and Green components) if the FITS keywork CTYPE3 = 'RGB ' is specified in the header. In this case any BITPIX value are supported. Without the FITS keywork CTYPE3 = 'RGB ' set, only FITS cube with 3 frames sharing the same dimension and with a BITPIX=8 will be automatically detected as RGB FITS.