Non mi è tanto chiara la problematica, dunque forse dico una cavolata, ma non ti basta definire un evento mousedown comune a tutti i pannelli e poi con i parametri chiamare il mouse down della form, qualcosa del tipo:

codice:
// evento mouse down della form
procedure TForm26.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if (Button= mbLeft) then
  begin
    showmessage(sender.ClassName);
  end;
end;

// evento mousedown comune a tutti i pannelli
procedure TForm26.panelmousedown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  FormMouseDown(sender, button,shift,x,y);
end;
una volta dentro il FormMouseDown in base a chi ti chiama riesci a distinguere se sei il panel A,B o C oppure la form

N.