а байты 31 32 в конце каждого файла картинки - это замена контрольной суммы?
Да, именно так. А то, что файл остаётся открытым я тоже заметил, но думал, что так и должно быть - вдруг пользователь захочет что-то сохранить "на магнитофон". Картинка с правильной контрольной суммой (sample_picture.rks) лежит в архиве с самой программой.