Gracias amigo, como no tenia muy claro muchas cosas, he comentado la parte donde obtengo el **IPictureDisp y me he centrado por ahora solo en la parte de copiar el _di_IPictureDisp al TPicture y el caso es que ahi ya da fallo al intentar copiar la imagen al portapapeles. El codigo ahora mismo lo tengo así despues de las modificaciones:
  Código PHP:
    void __fastcall TFormMain::Imagendeseleccionadosalportapapeles1Click(
      TObject *Sender)
{
   unsigned int DataHandle=0;
   HPALETTE APalette=0;
   unsigned short MyFormat=0;
   TPicture *pic, *pic2;
   IPictureDisp** lista;
   _di_IPictureDisp *pIPD;
   bool error = false;
 
   pIPD = new (std::nothrow)_di_IPictureDisp;
   if(pIPD == 0){
      error = true;
   }else{
      pic = new (std::nothrow)TPicture; //Solicito memoria para el TPicture
      if(pic == 0){
         error = true;
         delete pIPD;
      }else{
         pic2 = new (std::nothrow)TPicture; //Solicito memoria para el TPicture
         if(pic2 == 0){
            error = true;
            delete pIPD;
            delete pic;
         }
      }
   }
 
   if(error == true){
      ShowMessage("No hay memoria suficiente para realizar esta acción.");
   }else{
      try
      {
         //ExportPicture devuelve un IPictureDisp** y quiero pasarlo a un _di_IPictureDisp
         //lista = AddFlow1->ExportPicture(afSelectedItems, true, true);
         //pIPD->operator = (lista[0]);
 
         pic->LoadFromFile("prueba.bmp");
 
         GetOlePicture(pic, *pIPD);
         SetOlePicture(pic2, *pIPD); //Paso la imagen del IPictureDisp al TPicture
 
         //Envio la imagen al portapapeles
         pic2->SaveToClipboardFormat(MyFormat,DataHandle,APalette);
         Clipboard()->SetAsHandle(MyFormat,DataHandle);
      }catch(...){
         ShowMessage("Fallo al copiar la imagen al portapapeles.");
      }
      delete pic; //Libero la memoria del TPicture
      delete pic2;
      delete pIPD;
   }
} 
    
  Cuando intenta ejecutar la linea: 
 Código PHP:
    pic2->SaveToClipboardFormat(MyFormat,DataHandle,APalette); 
    
  me da la excepcion: 
 Cita:  Project Project1.exe raised exception class EInvalidGraphicOperation with message 'Invalid operation on TOleGraphic'. Process stopped.
    Y claro, si no me funciona ni la parte que copia la imagen de un _di_IPictureDisp a un TPicture, pues creo que primero tengo que hacer que este ejemplo funcione y luego enfocarme en la otra parte donde tengo que obtener el IPictureDisp.
La verdad es que no tengo ni idea de porque falla. ¿pueden ayudarme?