If you make a FITS image and don't give it a header in the constructor, when you save it, it tries to read the header from the file. Bad if trying to create a new file.
Possible solution: FITSImage.header property uses " try" around file read, and if it doesn't, put in an empty header.