Ладно, в приведенном коде меня в общем-то могут интересовать только две строчки:
jp->Assign(bm1);
jp->SaveToFile(szName2);
Блин, как все прото  

Вот теперь как надо все сохраняет, наверное  

 SavePictureDialog1->InitialDir;
   if (SavePictureDialog1->Execute())
   {
     FName = SavePictureDialog1->FileName;
     Child = (TMDIChild *)ChildList->Items[ActiveMDIChild->Tag];
      if (SavePictureDialog1->FilterIndex == 1)
       {
        Child->CLDBitmap->SaveToFile(FName);
       }
       if (SavePictureDialog1->FilterIndex == 2)
       {
       TJPEGImage *jtmp = new TJPEGImage;
        jtmp->Assign(Child->CLDBitmap);
        jtmp->SaveToFile(FName);
        delete(jtmp);
       }
   }
Вот только я разницу между JPG и JPEG не улавливаю  
