Te suelto algunas ideas en voz alta... Puedes hacer pruebas y si ves que vas por buen camino y tienes alguna duda, pues podemos concretar, ya dirás...
Antes que nada, estoy seguro de que se puede hacer un componente de cero que lo haga o incluso derivar un TImage para añadirle ésta propiedad.
En principio veo dos opciones/caminos:
(1)Intentar hacerlo sin crear ningun componente: Hay varioas cosas que debes solventar:
* Para el recuado de selección se podría utilizar un componente de tipo TBevel; La opción de pintar directamente sobre los TImage (Rectangle o DrawFocusRect) da problemas con el Strech del TImage a True.
* Para moverlo y redimensionarlo en runtime el siguiente truco:
http://www.swissdelphicenter.ch/en/showcode.php?id=2307
* El tema de capturar la imagen del recuadro es sencillo ya que puedes utilizar el método CopyRect de TCanvas (TImage tiene la propiedad Canvas).
(2)Derivando componentes: En éste caso parece que lo más apropiado sería derivar del TImage. Para el tema del recuadro te sirve lo dicho anteriormente.