Hola.
Revisa los valores de las líneas (1) y (2) al ejecutarse,
Código PHP:
void __fastcall TfPersona::VerFicha(int Codigo)
{
LimpiaForm(this);
if (Codigo < 1) return; // (1)
...
if (!Ficha(fPersona, Query)) return; //(2)
...
Foto->Picture = NULL; // (3)
...
ya que si Codigo < 1
(1) o, si ficha == false
(2), implica que
(3) no se ejecutará nunca y por tanto no se limpiará la imágen.
Intenta mover la línea
(3) al inicio de la función, si ese es el problema, debería solucionarse.
Saludos