here's another clue:
go to this directory
C:\Users\<username>\AppData\Roaming\BitComet\torrents
pick a torrent for testing. open the XML file that has the same name as the torrent.
in version 1.41, when i unselect a file, the xml element "\\Bitcomet\FileList\FileEntry" will have an attribute priority="-1"
in version 1.42, when i unselect a file, the xml element "\\Bitcomet\FileList\FileEntry" will have an attribute priority="-4294967295"
in version 1.42, as long as bitcomet doesn't get restarted, it will still remember the file selections.
i'm guessing when it restarts, somewhere in the program is reading the xml file and looking for possible values of "-1" or "1" or "2" etc, but actual value is something else, so it just took the default which is to select the file.