Seguro que los gurús de Delphi que tenemos en estos foros te pueden dar alguna forma de obtener esos datos, por lo menos el programa que llama la unidad, aunque el nombre del formulario lo veo más difícil.
Yo te doy una idea más primitiva, que sólo puedes poner en práctica si la unidad y todos los programas que la llaman son tuyos:
* Antes de llamarla pon en una variable los datos que necesitas.
Código:
Ficha:=TFCallejero.Create(Self);
Ficha.VengoDe.Caption:='Menú Principal';
Ficha.ShowModal;
* En la unidad analizas esos datos.
Código:
if VengoDe.Caption='Menú Principal' then // en lugar de un label puedes utilizar una variable global
begin
...
end
else
if VengoDe.Caption='Resumen Anual' then
begin
...
end;
Como ves no utilizo enrevesadas funciones de windows (que lo harían automáticamente), pero me funciona.