Te pongo código a ver qué tal, ahí se ve como redimensionar una imagen y como comprimirla para reducir su tamaño, (aunque si la reduces de dimensiones, por lógica también reduce su tamaño).
Código:
//Usamos el bmp para redimensionar el jpg
Graphics::TBitmap* bmp = new Graphics::TBitmap;
TJPEGImage* jpg = new TJPEGImage;
jpg->LoadFromFile( "foto.jpg" );
bmp->Height = 100;
bmp->Width = 100;
bmp->Canvas->StretchDraw( bmp->Canvas->ClipRect, jpg );
jpg->Assign( bmp );
//Según la compresión varia el tamaño, menor compresión, menor tamaño, pero también menor calidad de la imagen
jpg->CompressionQuality = 90;
jpg->Compress();
jpg->SaveToFile( "c:\\lolo.jpg" );
delete jpg;
nos vemos.