1、Form3不要自动创建;在Form3的OnCreate事件中:
procedure TForm3.OnCreate(Sender: TObject);
begin
  if Owner.ClassName = 'TForm1' then
    ShowMessage('Form1')
  else
    ShowMessage('Form2');
end;然后在Form1或Form2的事件中加入:
  with TForm3.Create(Self) do
  try
    ShowModal;
  finally
    Free;
  end;
即可。
2、我也不太懂,另请高手。@_@
3、TQuery一般来说是个静态数据集,返回的是某次查询结果。如果要达到你的要求,只能在TTable的AfterPost后再执行TQuery的查询了。